문서에서 가져온 XML 노드를 독립 실행 형 문서로 직렬화하려면 어떻게해야합니까? node.to_xml
을 사용하면 충분하지 않습니다. 왜냐하면 to_xml
은 노드 내에서 명시 적으로 선언 된 노드들만 필요한 모든 출력을 이 출력하지 않기 때문입니다.XML 노드를 올바른 네임 스페이스의 문서로 serialize
예를 들어, 나는 doc
<wrapper xmlns="ns" xmlns:extra="extra">
<record xml:id="r1">
<field>aaa</field>
<field extra:type="second">bbb</field>
</record>
</wrapper>
에서이 XML 문서를 가지고 있고 노드 #r1
를 분리에 나는 원한다.
record = doc.at("//*[@xml:id='r1']")
이제 record.to_xml
반환
<record xml:id="r1">
<field>aaa</field>
<field extra:type="second">bbb</field>
</record>
이 결과가 어떤 상황에서 확인 할 수있다 (포맷),하지만 내 목적을 위해 좋지 않다 : 기본 네임 스페이스와 extra
네임 스페이스는 없었다 이 복사되었습니다. 내가 원하는 다음과 같이, 모든 필요한 네임 스페이스가 복사 된 있는 문서입니다 :
<record xml:id="r1" xmlns="ns" xmlns:extra="extra">
<field>aaa</field>
<field extra:type="second">bbb</field>
</record>
가 어떻게 노코 기리와 함께이 작업을 수행 할 수 있습니까?