我需要在下面的XML中獲取<a:DisplayValue>
元素的值。XPath訪問複雜XML中的元素
我嘗試了使用XPath的不同方式,但是它顯示出我沒有使用正確的XPath,或者XML沒有正確定義。
具體來說,我收到一條錯誤消息「帶有前綴'a'的名稱空間尚未聲明」。
我使用的XPath是/s:Envelope/s:Body/a:Answers/a:FormAnswerData/a:QuestionName[1]
當我使用下面的XPath我收到 「不匹配」 /S:信封/ S:身體/ GetRequestResponse/GetRequestResult/A:答案/ A:FormAnswerData/A :QuestionName [1]
下面是我正在使用的實際XML。
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetRequestResponse xmlns="http://intapp.com/Wilco.Service.Web/">
<GetRequestResult xmlns:a="http://intapp.com/Wilco.Service.Web/Data/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Answers>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>912-345-9876</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfb3cb2e6-4-13a3cd74bcd</a:QuestionId>
<a:QuestionName>MobilePhone</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>912-345-9876</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>202-346-9089</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfba640f0-a-25c218099f</a:QuestionId>
<a:QuestionName>HomePhone</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>202-346-9089</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>Mr. T</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfbe22e0c-9-bedeb479e2</a:QuestionId>
<a:QuestionName>EmerContName</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>Mr. T</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>Uncle</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfccc91eb-7-7a1b63329e</a:QuestionId>
<a:QuestionName>EmerContRel</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>Uncle</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>321-467-9089</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfccd87c4-a-ac3b7a4685</a:QuestionId>
<a:QuestionName>EmerContHomePhone</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>321-467-9089</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>123-789-0987</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14bfcceddeb-14-c8e035c212</a:QuestionId>
<a:QuestionName>EmerContMobilePhone</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>123-789-0987</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>TextList</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>Chinese - Spoken Level - Fair, Chinese - Written Level - Poor, Dutch - Written Level - Good</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c16083084-a-bc76dff8ee</a:QuestionId>
<a:QuestionName>LangMDDId</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer i:nil="true" />
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<b:string>4</b:string>
<b:string>7</b:string>
<b:string>27</b:string>
</a:TextListAnswer>
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue i:nil="true" />
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1b10eeda-10-c078be069f</a:QuestionId>
<a:QuestionName>NewLanguageAbility</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer i:nil="true" />
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>1234 Main St</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1dfeb6c7-d-773963938c</a:QuestionId>
<a:QuestionName>StreetAddress</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>1234 Main St</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>San Fran</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3d9368-12-94b02069f0</a:QuestionId>
<a:QuestionName>City</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>San Fran</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>CA</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3dfbff-15-98ef4238d0</a:QuestionId>
<a:QuestionName>State</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>CA</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>98567</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3e46b8-18-a8cc17d184</a:QuestionId>
<a:QuestionName>ZipCode</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>98567</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>[email protected]</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3ed5de-1d-9620413541</a:QuestionId>
<a:QuestionName>PersonalEmail</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>[email protected]</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Boolean</a:AnswerType>
<a:BooleanAnswer>true</a:BooleanAnswer>
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>Yes</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d58550-24-13c37f2f719</a:QuestionId>
<a:QuestionName>Notary</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer i:nil="true" />
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Boolean</a:AnswerType>
<a:BooleanAnswer>true</a:BooleanAnswer>
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>Yes</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d51ae7-21-41cf999dcd</a:QuestionId>
<a:QuestionName>Government</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer i:nil="true" />
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>111-222-3333</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3f5172-20-812001dba7</a:QuestionId>
<a:QuestionName>HomeFax</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>111-222-3333</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>222-333-4444</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e3fa12b-23-122dcff1fcd</a:QuestionId>
<a:QuestionName>CountryHomePhoneNumber</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>222-333-4444</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>333-444-5555</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c1e403301-26-460093938e</a:QuestionId>
<a:QuestionName>CountryHomeFaxNumber</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>333-444-5555</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>January 1, 2000</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d173f0-15-3d3a0c5447</a:QuestionId>
<a:QuestionName>DateOfAdmission</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>January 1, 2000</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>NY, CA, NJ</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d212de-18-bbf50ffa7e</a:QuestionId>
<a:QuestionName>BarAdmissions</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>NY, CA, NJ</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>CA, MO, NV</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d36d52-1b-48abe7ae3c</a:QuestionId>
<a:QuestionName>CourtAdmissions</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>CA, MO, NV</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
<a:FormAnswerData>
<a:AddressAnswer i:nil="true" />
<a:AnswerType>Text</a:AnswerType>
<a:BooleanAnswer i:nil="true" />
<a:DataTableAnswer i:nil="true" />
<a:DateAnswer i:nil="true" />
<a:DisplayValue>cmt1, cmt2</a:DisplayValue>
<a:NumericAnswer i:nil="true" />
<a:QuestionId>14c41d3d8c3-1e-e13c570278</a:QuestionId>
<a:QuestionName>Committees</a:QuestionName>
<a:RelatedPartiesAnswer i:nil="true" />
<a:TextAnswer>cmt1, cmt2</a:TextAnswer>
<a:TextListAnswer xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</a:FormAnswerData>
</a:Answers>
<a:ClientId i:nil="true" />
<a:CreatedBy>Admin</a:CreatedBy>
<a:CurrentState>Save Employee Info</a:CurrentState>
<a:CustomFields xmlns:b="http://schemas.datacontract.org/2004/07/IntApp.Wilco.Service.Contracts.Data.Common.Entities" />
<a:Department i:nil="true" />
<a:Id>177</a:Id>
<a:MatterId i:nil="true" />
<a:Name>Request #177</a:Name>
<a:Office i:nil="true" />
<a:PracticeArea i:nil="true" />
<a:RequestType>Update My Employee Info</a:RequestType>
<a:RequestedBy i:nil="true" />
<a:Status>InProgress</a:Status>
</GetRequestResult>
</GetRequestResponse>
</s:Body>
</s:Envelope>
顯示您使用XPath成就的代碼。此外,錯誤消息相當乾淨(並且您的問題非常常見)。發佈您的問題之前,您是否嘗試過尋找解決方案? – Tomalak 2015-04-02 16:16:22
我沒有代碼。我在http://www.freeformatter.com/xpath-tester.html使用在線Xpath測試程序 – Sudheer 2015-04-02 16:30:17