중첩 된 XML 계층을 포함하는 XML 페이로드가 포함 된 InputStream
이 있습니다. 페이로드는 거대 할 수 있으며 가능한 한 적은 메모리를 사용하기 위해 모든 것을 스트림으로 처리해야합니다. 불행히도 내가받는 페이로드에는 값이 이고 다른 XML 문서 인 특성을 가진 태그가 포함 된 중첩 된 XML 문서가 포함되어 있습니다. 당신은 another_payload
이 또 다른 큰 XML을 보유하고 value
라는 속성을 가지고 있음을 알 수Axiom을 사용하여 특성 값을 스트리밍 할 수 있습니까
<another_payload value="<xml><xml/>"/>
주의를 지불 :이 페이로드를 드릴 다운 할 때
<xml>
<payload><xml><another_payload value="<xml><xml/>"/><xml/><payload/>
<xml/>
당신은 우리에게 다음과 같습니다 것을 알 수 있습니다 문서.
속성에 메모리에로드 할 수없는 거대한 XML 문서가 포함될 수 있습니다. 내가 좋아하는 것처럼 스트림을 보내야합니다. ElementHelper::getTextAsStream
누구든지 물어보기 전에, 내가 페이드로드를 원점에서 구조화하여 더 잘 처리 할 수 있도록 협상을 시도했지만, 이유가 무엇인지에 대해서는 그렇지 않습니다.
질문에서 속성의 값에 대해 이야기하지만,이 예에서는 텍스트 노드로 포함 된 XML (즉, 속성의 값이 아닌 요소의 콘텐츠)을 보여줍니다. 질문을 명확히 해 주시겠습니까? –
@AndreasVeithen 예제를 확장하여 다른 xml 문서를 보유하는 'value'속성을 가진 태그가있는 다른 XML 문서를 포함하는 XML 문서를 보여줍니다. –