노드 내부에 적절하지 않은 xml에서 요소 텍스트 가져 오기

chamikaWKK

xml 파일이 있고 stax xml 파서를 사용하여 <_3-auto> 노드 내부의 텍스트를 가져 오려고했습니다. 텍스트가 노드 내부에 제대로 들어 가지 않아 stax가 값을 가져올 수 없었습니다. stax를 사용하여 값을 가져 오는 다른 방법이 있습니까?

<_3-auto>
    <prefix>
        <autonum>(3)</autonum> 
    </prefix>
    Remove the rear fuselage support from FS755.00 of the aircraft.
</_3-auto>
<_3-auto>
    <prefix>
        <autonum>(4)</autonum> 
    </prefix>
    Put the hydraulic scissor lift (1) under the nose ballast assembly&#8201;(2).
</_3-auto>

이것은 _3-auto 노드 내부의 텍스트를 가져 오기 위해 작성한 코드입니다.

  try {
        XMLInputFactory inputFactory;
        inputFactory = XMLInputFactory.newInstance();
        InputStream inputStream = new FileInputStream(filePath);

        XMLStreamReader streamReader = inputFactory.createXMLStreamReader(inputStream);

        while (streamReader.hasNext()) {
            int event = streamReader.next();

            if (event == XMLStreamConstants.START_ELEMENT) {
                    if (streamReader.getLocalName().equals("_3-auto")) {
                        String auto = streamReader.getElementText();
                        System.out.println(auto);
                    }
            }

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
Csauvanet

getElementText()문서에 텍스트 전용 요소 라고 나와 있으므로 사용해서는 안됩니다 .

여기서해야 할 일은 노드 XMLStreamConstants.CHARACTERS에서 발생 하는 이벤트 도 모니터링 하는 것 <_3-auto>입니다. 이를 수행하는 간단한 방법은 구문 분석에서 컨텍스트를 처리하여 해당 노드에있을 때를 아는 것입니다. 이 경우 나는 당신이 후이 노드에 있는지 간단한 가정을 제작 <_3-auto>하는 startElement 이벤트 또는 후</prefix> 하는 endElement 이벤트 :

        boolean current3AutoNode = false;

        while (streamReader.hasNext()) {
            int event = streamReader.next();

            if (event == XMLStreamConstants.START_ELEMENT) {
                    if (streamReader.getLocalName().equals("_3-auto")) {
                        current3AutoNode = true;
                    }
                    else {
                        current3AutoNode = false;
                    }
            }
            else if (event == XMLStreamConstants.END_ELEMENT) {
                if (streamReader.getLocalName().equals("prefix")) {
                    current3AutoNode = true;    // after end of </prefix> we are back in <_3-auto> node
                }
                else {
                    current3AutoNode = false;
                }
            }
            if (event == XMLStreamConstants.CHARACTERS && current3AutoNode) {
                // these are the characters inside <_3-auto> </_3-auto>
                String characters = streamReader.getText();
                System.out.println(characters);
            }
        }

그러면 "항공기의 FS755.00에서 후방 동체 지지대 제거"가 인쇄됩니다. 및 "수압 가위 리프트 (1)를 노즈 밸러스트 어셈블리 (2) 아래에 놓습니다." 필터링 할 수있는 공백 문자가 더있는 텍스트입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

루프없이 노드가 하나만있는 XML 문자열에서 내부 텍스트 가져 오기

분류에서Dev

XML 파일에서 값을 반환하지 않는 요소 텍스트 가져 오기

분류에서Dev

React Testing-요소 내부에 텍스트 가져 오기

분류에서Dev

유니 코드 텍스트에서 요소 가져 오기

분류에서Dev

C # 중첩 노드에 대한 XML 내부 텍스트 가져 오기 시도

분류에서Dev

xslt에서 반복하면서 두 개의 다른 노드 / 요소에서 동시에 텍스트를 가져 오는 방법은 무엇입니까?

분류에서Dev

페이지에서 모든 텍스트 요소 가져 오기

분류에서Dev

XML에서 여러 텍스트 요소 가져 오기

분류에서Dev

JavaScript-텍스트 노드 부모에 요소 노드 추가

분류에서Dev

선택한 요소 jQuery 내에서 텍스트 가져 오기

분류에서Dev

오버플로가 숨겨져 있고 중앙에 있지 않은 <p> 요소에서 텍스트 흐름

분류에서Dev

Javascript, 기존 텍스트 노드가있는 요소에 텍스트를 추가하려면

분류에서Dev

DOM에서 텍스트 노드 값 가져 오기

분류에서Dev

Python 스크립팅을 사용하여 XML에서 다른 요소의 텍스트 또는 속성을 기반으로 요소의 텍스트 가져 오기

분류에서Dev

jQuery : 자식 요소 대신 <br/>을 사용하는 단일 요소 내에서 텍스트 가져 오기

분류에서Dev

동적으로 생성 된 텍스트 요소에서 val () 가져 오기

분류에서Dev

텍스트 요소에서 소수 가져 오기

분류에서Dev

Java DOM (XML 파서)에서 루트 아래의 요소 (노드 아님) 가져 오기

분류에서Dev

xml 노드에 간단한 텍스트 또는 기타 요소가 포함되어 있는지 확인

분류에서Dev

BeautifulSoup을 사용하여 <pre> 요소에서 텍스트 가져 오기

분류에서Dev

C #을 사용하여 XML에서 중첩 된 요소의 텍스트 가져 오기

분류에서Dev

노드 아래에 그룹화되지 않은 XML 데이터 가져 오기

분류에서Dev

XML에서 Google 스프레드 시트의 모든 요소 노드를 가져 오는 방법

분류에서Dev

Google 스프레드 시트 importxml : XML에서 요소 노드의 모든 이름을 가져 오는 방법

분류에서Dev

HTML Agility Pack-노드 뒤에 텍스트 가져 오기

분류에서Dev

Java 및 Xpath를 사용하여 요소 노드에 텍스트가 없는지 확인하십시오.

분류에서Dev

C # Winform에서 TabIndex로 요소의 텍스트 가져 오기

분류에서Dev

PHP에서 커튼 요소 ID의 텍스트 가져 오기

분류에서Dev

C #에서 입력 요소의 텍스트 값 가져 오기

Related 관련 기사

  1. 1

    루프없이 노드가 하나만있는 XML 문자열에서 내부 텍스트 가져 오기

  2. 2

    XML 파일에서 값을 반환하지 않는 요소 텍스트 가져 오기

  3. 3

    React Testing-요소 내부에 텍스트 가져 오기

  4. 4

    유니 코드 텍스트에서 요소 가져 오기

  5. 5

    C # 중첩 노드에 대한 XML 내부 텍스트 가져 오기 시도

  6. 6

    xslt에서 반복하면서 두 개의 다른 노드 / 요소에서 동시에 텍스트를 가져 오는 방법은 무엇입니까?

  7. 7

    페이지에서 모든 텍스트 요소 가져 오기

  8. 8

    XML에서 여러 텍스트 요소 가져 오기

  9. 9

    JavaScript-텍스트 노드 부모에 요소 노드 추가

  10. 10

    선택한 요소 jQuery 내에서 텍스트 가져 오기

  11. 11

    오버플로가 숨겨져 있고 중앙에 있지 않은 <p> 요소에서 텍스트 흐름

  12. 12

    Javascript, 기존 텍스트 노드가있는 요소에 텍스트를 추가하려면

  13. 13

    DOM에서 텍스트 노드 값 가져 오기

  14. 14

    Python 스크립팅을 사용하여 XML에서 다른 요소의 텍스트 또는 속성을 기반으로 요소의 텍스트 가져 오기

  15. 15

    jQuery : 자식 요소 대신 <br/>을 사용하는 단일 요소 내에서 텍스트 가져 오기

  16. 16

    동적으로 생성 된 텍스트 요소에서 val () 가져 오기

  17. 17

    텍스트 요소에서 소수 가져 오기

  18. 18

    Java DOM (XML 파서)에서 루트 아래의 요소 (노드 아님) 가져 오기

  19. 19

    xml 노드에 간단한 텍스트 또는 기타 요소가 포함되어 있는지 확인

  20. 20

    BeautifulSoup을 사용하여 <pre> 요소에서 텍스트 가져 오기

  21. 21

    C #을 사용하여 XML에서 중첩 된 요소의 텍스트 가져 오기

  22. 22

    노드 아래에 그룹화되지 않은 XML 데이터 가져 오기

  23. 23

    XML에서 Google 스프레드 시트의 모든 요소 노드를 가져 오는 방법

  24. 24

    Google 스프레드 시트 importxml : XML에서 요소 노드의 모든 이름을 가져 오는 방법

  25. 25

    HTML Agility Pack-노드 뒤에 텍스트 가져 오기

  26. 26

    Java 및 Xpath를 사용하여 요소 노드에 텍스트가 없는지 확인하십시오.

  27. 27

    C # Winform에서 TabIndex로 요소의 텍스트 가져 오기

  28. 28

    PHP에서 커튼 요소 ID의 텍스트 가져 오기

  29. 29

    C #에서 입력 요소의 텍스트 값 가져 오기

뜨겁다태그

보관