在這個XML片段我需要更換的UID的數據爲一些塊。實際文件包含超過100個相似的塊。使用引入nokogiri使用多個搜索元素
雖然我基於name="Track (Timeline)"
能夠提取的子集,我奮力如果name="Track (TimeLine)"
這個子集減少到特定塊,我需要還通過使用在<TrackID>
的數據,以及<TrackID>
文字0x1200
然後設置UID
到xxxx。
我是新來引入nokogiri,雖然我編寫的測試腳本,我不認爲我是一個程序員。
<StructuralMetadata key="06.0E.2B.34.02.53.01.01.0D.01.01.01.01.01.3B.00" length="116" name="Track (TimeLine)">
<EditRate>25/1</EditRate>
<Origin>0</Origin>
<Sequence>32-04-25-67-E7-A7-86-4A-9B-28-53-6F-66-74-65-6C</Sequence>
<TrackID>0x1200</TrackID>
<TrackName>Softel VBI Data</TrackName>
<TrackNumber>0x17010101</TrackNumber>
<UID>34-C1-B9-B9-5F-07-A4-4E-8F-F4-53-6F-66-74-65-6C</UID>
</StructuralMetadata>
<StructuralMetadata key="06.0E.2B.34.02.53.01.01.0D.01.01.01.01.01.3B.00" length="116" name="Track (TimeLine)">
<EditRate>25/1</EditRate>
<Origin>0</Origin>
<Sequence>35-12-2D-86-E6-74-0B-4C-B4-24-53-6F-66-74-65-6C</Sequence>
<TrackID>0x1300</TrackID>
<TrackName>Softel VBI Data</TrackName>
<TrackNumber>0x0</TrackNumber>
<UID>37-0C-80-34-4C-8D-CE-41-85-F3-53-6F-66-74-65-6C</UID>
</StructuralMetadata>
這樣你實際上忽略引入nokogiri的XPath或CSS搜索功能,所有數據拋出去'.find'。爲什麼不解決「縮小」與引入nokogiri? – karatedog 2012-04-04 11:15:22
謝謝blixxy - 爲我做的工作 – Trevor 2012-04-04 13:01:03
@karatedog Trevor說他們不認爲自己是程序員,這讓我覺得他們是初學者學習Ruby。在深入研究xpath和css選擇器,regexps和其他語言等新語言之前,最好先適應一種語言。我認爲首先開始學習這些東西時,保持簡單明瞭的東西非常重要。作爲旁註,我不認爲這個問題可以用CSS選擇器解決,可以嗎? Xpath肯定。 :) – Blixxy 2012-04-04 14:32:49