Html XPath:从一个节点中,选择该节点上第二个子节点的所有最深子节点 爱丽丝·史密斯 枫树街123号 米尔山谷 加利福尼亚州 90952

Html XPath:从一个节点中,选择该节点上第二个子节点的所有最深子节点 爱丽丝·史密斯 枫树街123号 米尔山谷 加利福尼亚州 90952,html,xml,xpath,xml-parsing,html-parsing,Html,Xml,Xpath,Xml Parsing,Html Parsing,使用xpath 2.0或XQuery 1.0,您可以选择什么xpath表达式 <?xml version="1.0"?> <shipTo country="US"> <name><strong>Alice Smith</strong></name> <street>123 Maple Street</street> <city><

使用xpath 2.0或XQuery 1.0,您可以选择什么xpath表达式

<?xml version="1.0"?>
    <shipTo country="US">
        <name><strong>Alice Smith</strong></name>
        <street>123 Maple Street</street>
        <city><hi>Mill Valley</hi></city>
        <state>CA</state>
        <zip>90952</zip>
   </shipTo>
获取字符串
123加利福尼亚州米尔谷枫树街,90952

使用XPath 1.0,您可以使用

string-join(/shipTo/*[position() gt 1], ', ')

但是,您需要使用使用XPath的宿主语言(例如XSLT或带有XPath API的编程语言)来构造字符串,以迭代选定的元素并连接字符串值。

要从所有未命名的shipTo子级获取所有文本节点,请尝试以下操作:

/shipTo/*[position() > 1]
要获得逗号分隔的列表,需要使用xlst或xpaht-2.0

shipTo/*[local-name() != 'name']//text()