如何使用 Java XPath 从地址名称为“BILL_TO”(如果有)的addressinformation
(在本例中为 999123)获取 UUID?
这是我的 XML:
<Company>
<Name>My Company</Name>
<LastName>Smith</LastName>
<FirstName>Jim</FirstName>
<street>123 Main Street</street>
<AddressInformation>
<UUID>543233<UUID>
<Address>
<UUID>223223</UUID>
<AddressID>
<AddressName>Default</AddressName>
</AddressID>
</Address>
</AddressInformation>
<AddressInformation>
<UUID>999123<UUID>
<Address>
<UUID>443211</UUID>
<AddressID>
<AddressName>BILL_TO</AddressName>
</AddressID>
</Address>
</AddressInformation>
<city>Mytown</city>
<state>NY</state>
<zip>11234</zip>
</Company>
最佳答案
首先,您的 XML 格式不正确,所以我为您修复了这个问题
<Company>
<Name>My Company</Name>
<LastName>Smith</LastName>
<FirstName>Jim</FirstName>
<street>123 Main Street</street>
<AddressInformation>
<UUID>543233</UUID>
<Address>
<UUID>223223</UUID>
<AddressID>
<AddressName>Default</AddressName>
</AddressID>
</Address>
</AddressInformation>
<AddressInformation>
<UUID>999123</UUID>
<Address>
<UUID>443211</UUID>
<AddressID>
<AddressName>BILL_TO</AddressName>
</AddressID>
</Address>
</AddressInformation>
<city>Mytown</city>
<state>NY</state>
<zip>11234</zip>
</Company>
那么这就是 xpath 应该可以为您解决问题的方法:
//Company/AddressInformation[Address/AddressID/AddressName='BILL_TO']/UUID
关于java - 如何从 XPath 中子节点的值节点获取父文本值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348940/