2014-09-12 2 views
1

노드를 문서에 추가하려고하지만 본문 노드의 자식으로 추가하려고합니다. 내가 < < 또는 푸시를 사용하는 경우, 단순히하지 그것의 자식으로, 몸 노드 다음에 노드를 추가합니다nokogiri를 사용하여 xml 노드를 문서에 추가

xml = zip.read("word/document.xml") 
doc = Nokogiri::XML(xml) {|x| x.noent} 
body = doc.xpath("//w:body") 
node = Nokogiri::XML::Node.new("<w:p w14:paraId=\"322D15A5\" w14:textId=\"3D86357C\" w:rsidR=\"00E1538A\" w:rsidRDefault=\"002D3A2C\">Hello World\n</w:p>",doc) 
body << node 

이 어떻게 신체의 아이가 아닌 형제로 노드를 추가 할 수 있습니까?

답변

1

알아 냈습니다. 본문은 Nokogiri :: XML :: NodeSet 컨테이너입니다. 직관적으로 생각하면 직감에 추가 할 수는 있지만 작동하지 않습니다. 그리고 그 몸 노드에 새 노드를 추가하여 더 나은 또는 wose에 대한

> body.first.class 
=> Nokogiri::XML::Element 

: 당신은 중첩 원하는 얻을

body.first << node 

당신이 한 단계 더 깊이에 도달 할 때 신체 요소 자체를 얻을 수 결과.

관련 문제