유사한 태그를 무시합니다. 하지만 구문 분석 할 때 로컬 이름이 동일하기 때문에 "PHP"도 가져옵니다. 여러 LocalNames를 필터링하고 원하는 LocalNames를 선택할 수 있습니까? 어떻게해야합니까?어떻게 내가 그냥 "자바"를 포함하고이 값을 원하는이 하나</p> <pre><code><OuterTag> <Name>JAVA </Name> <InnerTag> <Name> PHP </Name> </InnerTag> </OuterTag> </code></pre> <p>같은 XML이 XML의 SAX 구문 분석
답변
생각은 당신이 'OuterTag'에 대한 열린 태그를 찾으면 부울 값을 사용하고 true로 설정하고 'InnerTag'에 대해 열린 태그를 찾으면 false로 설정하는 것입니다. '.
당신이 어디에 당신이 지금 '이름'태그를 찾을 이런 식으로.
또 다른 더 유연한 방법/밀어 당신이 그들을 찾을 때 태그 이름을 팝업하는 것입니다. 이렇게하면 '이름'태그를 찾아 올바른 값을 얻을 때 누가 부모 태그인지 확인할 수 있습니다.
나는 덕분에, u는 나에게 적절한 방법으로 코드의 예를 들어 줄 경우, 그것은 더 도움이 될 것입니다, 당신의 논리를 구현 한 –
SAX 구문 분석에 begineer이고 그것을 작동합니다 :) –
^^ 니스가 도움이 : D – Moss
만약 내가 understend correclty라면 태그는 OuterTag
에 있고 InnerTag
에 속하는 태그는 아닐 것입니다. 그래서,이 내가 dom4j으로 어떻게 할 것입니다 :
SAXReader saxReader = new SAXReader();
saxReader.addHandler("OuterTag/Name", new ElementHandler() {
@Override
public void onStart(ElementPath arg0) {
// TODO Auto-generated method stub
}
@Override
public void onEnd(ElementPath arg0) {
// TODO Auto-generated method stub
}
});
File inputFile = new File(filename);
saxReader.read(inputFile);
도움이 되었기를 바랍니다.
당신 맞아,하지만 난 여기에 SAX 구문 분석입니다 :) –
내가 [SAXReader] (http://dom4j.sourceforge.net/dom4j-1.6.1/apidocs/org/dom4j/io/SAXReader.html) SAX 구문 분석을 수행 생각합니다. 파서가 명시 적으로 시스템 프로퍼티 org.xml.sax.driver을 사용하는 표준 SAX 정책을 지정하지 않으면 당신의 XMLReader의 구현 클래스를 결정하는 데 사용됩니다 "좋아하는 SAX 파서를 지정하거나 할 수 있습니다. org.xml.sax의 경우, .driver 시스템 속성 "JAXP 반사를 통해 사용 후 정의되지 않은 – MarcoS
Sax 파서는 일반적으로 코드를 쓸 수있는 후크가 있습니다. 구체적으로는 StartElement
, EndElement
및 characters
입니다. 스택에 요소 이름을 누르십시오 :
의 startElement -
모스는 정답이있다.
문자 : 요소 이름이 'name'이고 스택에 'OuterTag'요소가있는 경우 값을 찾았습니다. 그렇지 않으면 무시하십시오.
EndElement 스택에서 요소를 팝합니다.
색소 파서는 매우 강력하지만 때로는 과장입니다. 파서가 만났을 때 조작 된 XML 또는 매우 큰 XML 파일을 구문 분석하는 데 매우 빠르며, 요소에 반응합니다.
XPath 솔루션을 '고려'할 것을 신중하게 제안합니다. XPath 솔루션은 구문 분석 작업을 수행하므로 모든 요소를 쉽게 참조 할 수 있습니다. Xpath 객체를 만들고 비슷한 것을 쿼리하십시오. '/OuterTag/Name[1]'
이전에 jQuery를 사용했다면 집에있을 수 있습니다.
그러나 XML이 잘못되었거나 실제로 크고 복잡하면이 작업이 매우 느릴 수 있습니다. 너는 경고 당했다.
XPath를 가능한 해결책으로 사용할 수 있는지 확인하십시오. http://www.javabeat.net/tips/182-how-to-query-xml-using-xpath.html
- 1. github add <<<<<<< HEAD
- 2. Heredoc <<< 또는 <<?
- 3. Gemfile 구문 오류 : <<<<<<< localhost를 시작하려고 할 때 HEAD
- 4. 연산자 << : std :: cout << i << (i << 1);
- 5. PHP <<< OUT 및 OUT;
- 6. <? 및 <? php
- 7. PHP <<<는 무슨 뜻입니까?
- 8. <<< CON in PHP 사용
- 9. 어떤 수단 <<< PHP에서
- 10. <<< OUT은 PHP에서 무엇을 의미합니까?
- 11. <? php와 <?
- 12. PHP에서 "<<< SQL"이란 무엇입니까?
- 13. Ruby attr_reader는 <<
- 14. 인쇄 <<< PHP에서 HTML?
- 15. 무엇을 | << 평균?
- 16. Tortoise svn <<<<를 파일에 추가 중!
- 17. << 셀프 블록
- 18. 인쇄 관련 질문 <<<
- 19. PHP에서 <? php 대신 <?
- 20. 연산자 << 오류
- 21. Asp.net : <% # 또는 <%
- 22. 가상 << operator
- 23. 연산자 오버로드 <<
- 24. sed를 사용하여 <? <? php
- 25. 맞춤 << 방법
- 26. 연산자 << 과부하
- 27. 조작 << 상속
- 28. << - 상수는 무엇을합니까?
- 29. << 연산자 오류
- 30. EJS : <% = <% -
XML에서 임의의 값을 얻는 것이 필요한 경우 XPath가 더 나은 선택 일 수 있습니까? – machinery