1
以下是我的xml结构。无法使用包含编码特殊字符的xpath获取数据
<City name="BELLMORE" >
<SiteName name="MILL POND AUTO BODY" >
<SiteStreet>3000 Merrick Rd</SiteStreet>
<ZipCode>11710</ZipCode>
</SiteName>
<SiteName name="STS TIRE & AUTO CENTERS" >
<SiteStreet>CHG Sunrise Hwy</SiteStreet>
<ZipCode>11710</ZipCode>
</SiteName>
<SiteName name="AUTO CONNECTION" >
<SiteStreet>2860 Sunrise Hwy</SiteStreet>
<ZipCode>11710</ZipCode>
</SiteName>
<SiteName name="PERRY'S AUTO" >
<SiteStreet>1703 Newbridge Rd</SiteStreet>
<ZipCode>11710</ZipCode>
</SiteName>
</City>
我能够在使用以下xpath查询时查找数据。
//City[@name='BELLMORE']/SiteName[@name='AUTO CONNECTION']/SiteStreet/text()
但是,当我使用以下XPath查询
//City[@name='BELLMORE']/SiteName[@name='PERRY'S AUTO']/SiteStreet/text()
它不返回任何东西。我已经在xml中转换了特殊字符。
非常感谢你... – 2014-10-07 16:59:09
这个解决方案是否适用于所有特殊字符? – 2014-10-07 17:03:17
@VimalPatel对XPath 1.0中字符串文字的唯一限制是单引号文字不能包含单引号,而双引号文字不能包含双引号,但除此之外什么都行。在XPath 2.0中,你可以通过加倍的方式来转义定界引用类型 - 'PERRY'的'AUTO'代表字符串'PERRY'S AUTO',但是1.0没有转义机制,所以你必须用'concat ()'如果你想在同一个字符串中包含两种类型的引用。 – 2014-10-07 17:05:35