Как прочитать значение xlink: label с помощью XPath - PullRequest
0 голосов
/ 05 октября 2018

Мне нужно получить значение xlink: label (ASSET_1) из XML.

<MESSAGE xmlns:xlink="http://www.w3.org/1999/xlink">
<ABOUT_VERSIONS>
<ABOUT_VERSION SequenceNumber="1"  xlink:label="ASSET_1" >
<CreatedDatetime>2015-08-24T09:30:47Z</CreatedDatetime>
<DataVersionName>Purchase Example</DataVersionName>
</ABOUT_VERSION>
</ABOUT_VERSIONS>
</MESSAGE>

Код Java, который я пытаюсь использовать, выглядит следующим образом:

XPathFactory xpf = XPathFactory.newInstance();            
XPath xPath = xpf.newXPath();

XPathExpression pathExpression = xPath.compile("MESSAGE/ABOUT_VERSIONS/ABOUT_VERSION");   
InputSource inputSource = new InputSource("C:/Sample.xml");  
NodeList Nodes = (NodeList) xPath.evaluate("MESSAGE/ABOUT_VERSIONS/ABOUT_VERSION", inputSource, XPathConstants.NODESET);

System.out.println("SequenceNumber:: "+xPath.evaluate("MESSAGE/ABOUT_VERSIONS/ABOUT_VERSION/@SequenceNumber", inputSource, XPathConstants.NODE));
System.out.println(" "+xPath.evaluate("MESSAGE/ABOUT_VERSIONS/ABOUT_VERSION/@xlink:label", inputSource, XPathConstants.NODE));

OutPut SequenceNumber :: SequenceNumber= "1"

null

Какую ошибку я делаю, чтобы получить значение xlink: label?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 05 октября 2018

Вы можете использовать @*[name()='xlink:label'] вместо @xlink:label.Также переключение на @*[local-name()='label'] должно помочь.

...