예 : 해시 일부 Node
의 특성을 추출 할 attributes
방법을 사용할 수 있습니다Nokogiri를 사용하여 xml에서 속성 이름과 값 쌍을 추출하는 방법은 무엇입니까?
name="mango"
예 : 해시 일부 Node
의 특성을 추출 할 attributes
방법을 사용할 수 있습니다Nokogiri를 사용하여 xml에서 속성 이름과 값 쌍을 추출하는 방법은 무엇입니까?
name="mango"
:
<fruit name="mango"/>
나는 같은 출력을 얻을 싶어요.
노드의 속성을 포함하는 해시를 반환합니다. 키는 속성 이름이고, 값은 속성을 나타내는 Nokogiri :: XML :: Attr입니다.
Read this도 있습니다.
예를 보여 드리겠습니다.
<?xml version="1.0" encoding="utf-8" ?>
<files>
<file exists="true">
<content />
</file>
<file exists="false">
<content />
</file>
</files>
그리고 루비 코드를 처리하기 :
require "nokogiri"
doc = Nokogiri::XML(File.read "my.xml")
doc.css("files file[exists]").first.attributes
# => #<Nokogiri::XML::Attr:0x1184470 name="exists" value="true">
doc.css("files file[exists]").first.attributes["exists"].value
# => "true"
xml = %(<fruit name="mango"/>)
fruit = Nokogiri.XML(xml) % "fruit"
fruit.attributes.values.map(&:to_xml).join.strip
아주 좋은 - 나는 몇 가지 살아있는 진드기를 배웠다. –
def getattributestest(doc,attr,rexg)
arr = doc.css(rexg)
cnode = arr.select {|node| node}
cnode.inject([]) do |rs,i|
rs << i.attributes[attr]
end
"이름 ="망고 "XML 입력에서"< frunit 이름으로 출력한다 일부 코드 다음은 XML 문서입니다 = "mango"/> "
require 'nokogiri'
doc = Nokogiri::XML %q|<xml><fruit name="mango"/></xml>|
element = doc.xpath("//fruit")
hash = Hash[doc.xpath("//fruit")[0].attributes.map{ |n, v| [ n, v.value ]}]
hash.each do |k, v|
puts %Q|#{k}="#{v}"|
end
저는 이것을 읽었지만 해결할 수는 없습니다. 작은 예 !! – fossmaniac
답변에 예제를 추가했습니다. –