2016-06-06 14 views
0

다음 xml이 있습니다. 위의 xml에서 bcc, cc, main, subject의 값을 가져와야합니다.xpath - Xpaths 또는 DOM을 사용하여 Xml 구문 분석

어떻게 해석 할 수 있습니까?

<?xml version="1.0" encoding="UTF-8"?> 
<abc> 
    <pqr ref1="8340403366" ref2="0000000228754072" ref3="3200051014"> 
    </pqr> 
    <errors> 
     <subject>Error is there</subject> 
     <mailto bcc="[email protected]" cc="[email protected]"main="[email protected]"/> 
     <text mnofield="000020"/> 
    </errors> 
</abc> 
+1

당신이 DOM 또는 XPath를 사용하여 읽기를 시도했다 :

NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(doc, XPathConstants.NODESET); 

당신은이 링크를 확인해야합니까? 그렇지 않다면, 컴퓨터에 가서 시도해보십시오. 작동 할 것입니다. 나는 꽤 확신 할 것입니다 ... –

+0

xml의 형식이 잘못되었습니다.'main ='및'/>'앞에 공백이 있어야합니다. 'mailto' 요소. 귀하의 XML 파일이 정말 그런가요, 아니면 그냥 질문에 오타가 있습니까? – Arjan

답변

0

이 같은 XML 파일 무언가를 분석하려는 경우 당신을 도울 수 :

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 

Document doc = dBuilder.parse(file); 
XPath xPath = XPathFactory.newInstance().newXPath(); 

String expression = "//pqr/@ref1"; // This line defines the element or attribute that you want to retrieve 
Node node = (Node) xPath.compile(expression).evaluate(doc, XPathConstants.NODE); 
String nodeValue = node.getTextContent(); 

XML 파일은 반복 요소가 있고 NodeList를에 값을 저장 할 수 있습니다 속성 경우 . 이를 위해 다음과 같이 사용할 수 있습니다

http://www.roseindia.net/tutorials/xPath/index.shtml

https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx