xml을 역 직렬화하는 동안 jackson으로 중복 키를 허용하는 방법

Ulquiorra

여러 B 키로 구성된 간단한 xml 파일이 있습니다.

<?xml version="1.0" encoding="UTF-8"?>
<Example>
   <ExampleId>0000</ExampleId>
   <Name>test</Name>
   <Important1>
      <Id>
         <Number>1111111111</Number>
      </Id>
   </Important1>
   <B>
      <Name>test2</Name>
      <Important2>
         <Id>
            <Number>2222222222</Number>
         </Id>
      </Important2>
   </B>
   <B>
      <Name>test3</Name>
      <Important2>
         <Id>
            <Number>3333333333</Number>
         </Id>
      </Important2>
   </B>
</Example>

숫자 키에서 목록으로 모든 값을 검색해야합니다.
여러 가지 방법을 시도했습니다.

JsonNode numberParser = xmlMapper.readTree(inputStream);
JsonNode node1 = numberParser.get("Example");
            
//first try
List<String> list =node1.findValuesAsText("Number");
            
//second try
List<String> list =new ArrayList<String>();
node1.fields().forEachRemaining(firstEntry -> {
    if(firstEntry.getKey().equals("Important1")){
            JsonNode fieldsNode = firstEntry.getValue();
            String numberFromImportant1 = fieldsNode.findValue("Number").asText();
            list.add(numberFromImportant1);
    }
    if(firstEntry.getKey().equals("B")){
            JsonNode fieldsNode = firstEntry.getValue();
            String numberFromImportant2 = fieldsNode.findValue("Number").asText();
            list.add(numberFromImportant2);
    }
});

그러나, jackson이 중복 B 노드를 만나면 Number 에서 마지막 값만 가져 오는 것 같습니다. 이를 방지하고 Jackson이 중복을 고려하도록 허용하는 방법?

그렉

원하는 것은 node숫자 값을 검색하는 것 뿐이라면 xpath 사용을 고려하십시오. XML 노드에 이중 정방향 공백을 추가하면 전체 xml 파일에서 노드를 검색합니다. 예 ://Number

예를 들면 :

Document xmlDocument = builder.parse(inputStream);
this.clean(xmlDocument);
XPath xPath = XPathFactory.newInstance().newXPath();
String expression = "//Number";
nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Jackson 및 @JSonPOJOBuilder를 사용하여 JSON을 역 직렬화하는 동안 파서 컨텍스트를 검색하는 방법

분류에서Dev

Jackson을 사용하여 나열 할 중복 키를 역 직렬화

분류에서Dev

JavaScriptSerializer를 사용하여 JSON을 튜플으로 역 직렬화하는 방법

분류에서Dev

복잡한 유형을 단순 유형으로 직렬화 / 역 직렬화하는 Newtonsoft JSON 변환기를 구현하는 방법

분류에서Dev

Jackson : 속기 속성 값으로 json을 역 직렬화하는 방법

분류에서Dev

C #에서 동적 및 정적 키 이름으로 JSON을 역 직렬화하는 방법

분류에서Dev

Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

분류에서Dev

Finatra FeatureTests : 반환 된 json을 수동으로 역 직렬화하는 방법

분류에서Dev

Play : Json을 역 직렬화하는 동안 데이터를 수정하는 방법

분류에서Dev

C #에서 XML을 개체로 역 직렬화하는 방법

분류에서Dev

XML 파일을 C # 모델로 역 직렬화하는 동안 결과 버퍼링에서 XmlReader.Create ()를 중지하려면 어떻게해야합니까?

분류에서Dev

정수를 키로 사용하여 JSON을 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

Jackson을 사용하여 키를 무시하는 객체로 JSON을 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

Jackson으로 OffsetDateTime을 직렬화 해제하는 동안 오프셋을 유지하는 방법

분류에서Dev

Jackson을 사용하여 JSON 배열을 단일 연결 목록으로 역 직렬화하는 방법

분류에서Dev

@@를 포함하는 json 문자열을 scala로 역 직렬화하는 방법 '

분류에서Dev

클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

분류에서Dev

여러 개체를 단일 XML 파일로 직렬화 / 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

C #으로 JSON 파일을 역 직렬화하는 방법

분류에서Dev

XML 파일을 개체 목록으로 역 직렬화하는 방법

분류에서Dev

json 배열과 일반 속성을 jackson의 pojo로 역 직렬화하는 방법. 어레이 만 작동

분류에서Dev

ServiceStack을 사용하여 json을 여러 DataContract 중 하나로 역 직렬화하는 방법

분류에서Dev

동적 키를 사용하여 JSON을 사전으로 역 직렬화

분류에서Dev

C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

분류에서Dev

Immutablejs : 복잡한 JS 객체를 역 직렬화하는 방법

분류에서Dev

Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

분류에서Dev

XML 역 / 직렬화를 테스트하는 방법

분류에서Dev

Jackson을 사용하여 HTTP Get을 위해 복잡한 Json 객체를 QueryString으로 직렬화하는 방법은 무엇입니까?

분류에서Dev

Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

Related 관련 기사

  1. 1

    Jackson 및 @JSonPOJOBuilder를 사용하여 JSON을 역 직렬화하는 동안 파서 컨텍스트를 검색하는 방법

  2. 2

    Jackson을 사용하여 나열 할 중복 키를 역 직렬화

  3. 3

    JavaScriptSerializer를 사용하여 JSON을 튜플으로 역 직렬화하는 방법

  4. 4

    복잡한 유형을 단순 유형으로 직렬화 / 역 직렬화하는 Newtonsoft JSON 변환기를 구현하는 방법

  5. 5

    Jackson : 속기 속성 값으로 json을 역 직렬화하는 방법

  6. 6

    C #에서 동적 및 정적 키 이름으로 JSON을 역 직렬화하는 방법

  7. 7

    Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

  8. 8

    Finatra FeatureTests : 반환 된 json을 수동으로 역 직렬화하는 방법

  9. 9

    Play : Json을 역 직렬화하는 동안 데이터를 수정하는 방법

  10. 10

    C #에서 XML을 개체로 역 직렬화하는 방법

  11. 11

    XML 파일을 C # 모델로 역 직렬화하는 동안 결과 버퍼링에서 XmlReader.Create ()를 중지하려면 어떻게해야합니까?

  12. 12

    정수를 키로 사용하여 JSON을 역 직렬화하는 방법은 무엇입니까?

  13. 13

    Jackson을 사용하여 키를 무시하는 객체로 JSON을 역 직렬화하는 방법은 무엇입니까?

  14. 14

    Jackson으로 OffsetDateTime을 직렬화 해제하는 동안 오프셋을 유지하는 방법

  15. 15

    Jackson을 사용하여 JSON 배열을 단일 연결 목록으로 역 직렬화하는 방법

  16. 16

    @@를 포함하는 json 문자열을 scala로 역 직렬화하는 방법 '

  17. 17

    클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

  18. 18

    여러 개체를 단일 XML 파일로 직렬화 / 역 직렬화하는 방법은 무엇입니까?

  19. 19

    C #으로 JSON 파일을 역 직렬화하는 방법

  20. 20

    XML 파일을 개체 목록으로 역 직렬화하는 방법

  21. 21

    json 배열과 일반 속성을 jackson의 pojo로 역 직렬화하는 방법. 어레이 만 작동

  22. 22

    ServiceStack을 사용하여 json을 여러 DataContract 중 하나로 역 직렬화하는 방법

  23. 23

    동적 키를 사용하여 JSON을 사전으로 역 직렬화

  24. 24

    C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

  25. 25

    Immutablejs : 복잡한 JS 객체를 역 직렬화하는 방법

  26. 26

    Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

  27. 27

    XML 역 / 직렬화를 테스트하는 방법

  28. 28

    Jackson을 사용하여 HTTP Get을 위해 복잡한 Json 객체를 QueryString으로 직렬화하는 방법은 무엇입니까?

  29. 29

    Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

뜨겁다태그

보관