2011-04-10 16 views
1

xml에 &을 구문 분석하려고 시도했지만 xml에 포함될 수있는 노드의 수를 모릅니다. 그래서 노드 & 노드 값을 읽으려고합니까? 나도 같은 얼마나Java에서 XML의 노드 및 노드 값을 얻는 방법

말 : 죄송합니다

<company> 
    <personNam>John</personName> 
    <emailId>[email protected]</emaiId> 
    <department>Products</department> 
    (may have additionaly nodes & values for same) 
</company> 

는 돔을 사용하여, 내 코드를 추가하는 것을 잊었다 : -

Document document = getDocumentBuilder().parse(new ByteArrayInputStream(myXML.getBytes("UTF-8")));   
String xPathExp = "//company"; 
XPath xPath = getXPath(); 
NodeList nodeList = (NodeList)xPath.evaluate(xPathExp, document, XPathConstants.NODESET);   
nodeListSize = nodeList.getLength(); 
System.out.println("#####nodeListSize"+nodeListSize); 

for(int i=0;i<nodeListSize;i++){ 
    element=(Element)nodeList.item(i); 
    m1XMLOutputResponse=element.getTextContent(); 
    System.out.println("#####"+element.getTagName()+" "+element.getTextContent()); 
} 
+0

당신이 SAX 파서 또는 DOM 파서를 사용하고 XML을 작성하는 방법을 알 필요가 거라고? 작성한 코드를 게시 할 수 있습니까? –

+0

어떤 파서를 사용하고 있으며 데이터로 무엇을하려고합니까? 지금까지 가지고있는 코드를 게시 할 수 있습니까? –

+0

Dupe of http://stackoverflow.com/questions/4076910/how-to-retrieve-element-value-of-xml-using-java –

답변

1

JAXB 라이브러리 사용을 고려하십시오. 이것은 XML을 자바 클래스에 매핑하는 진정한 방법입니다. 기본 원칙은 JAXB가 XML 스키마 (XSD)를 가져와 해당 Java 클래스를 생성한다는 것입니다. 그런 다음 marshall 또는 unmarshall 메소드를 호출하여 Java 클래스를 XML 컨텐츠로 채우거나 Java 클래스에서 XML을 생성합니다.

유일한 단점입니다 물론, 당신은 스키마 :이

+0

미안하지만 여전히 얻을 수 없습니다. 예를 들어 personNam : John & .. 코드를 가진 사람이면 누구나 얻을 수 있습니다. – Vardhaman

관련 문제