這是我第一篇文章。我剛剛開始使用Ruby,並使用REXML進行一些XML處理。我在這裏提出我的XML文件的一個小樣本:XPath-REXML-Ruby:選擇多個兄弟/祖先/子孫
<record>
<header>
<identifier>oai:lcoa1.loc.gov:loc.gmd/g3195.ct000379</identifier>
<datestamp>2004-08-13T15:32:50Z</datestamp>
<setSpec>gmd</setSpec>
</header>
<metadata>
<titleInfo>
<title>Meet-konstige vertoning van de grote en merk-waardige zons-verduistering</title>
</titleInfo>
</metadata>
</record>
我的目標是與我從一個數組有值的列表匹配標記中的最後一個數值。我曾與下面的代碼片段實現了這一點:
ids = XPath.match(xmldoc, "//identifier[text()='oai:lcoa1.loc.gov:loc.gmd/"+mapid+"']")
已經得到了,我想調查某個特定的標識,現在我要回去和選擇,然後選擇以獲得在該節點的值,該特定標識符。
我已經查看了XPath教程和表達式以及本網站上的許多相關問題,並瞭解了軸和不同的概念,如祖先/兄弟姐妹等。但是,我真的很困惑,無法想象這個很容易。
我想知道如果我能得到任何幫助,或者如果有人可以指向我的在線資源「輕鬆」閱讀。
謝謝。
UPDATE:
我一直在努力,如不同的代碼組合:
idss = XPath.match(xmldoc, "//identifier[text()='oai:lcoa1.loc.gov:loc.gmd/"+mapid+"']/parent::header/following-sibling::metadata/child::mods/child::titleInfo/child::title")
代碼編譯,但不輸出任何東西。我想知道我做錯了什麼。
示例XML有一個額外的頭。這是打算嗎? – joelparkerhenderson 2012-04-06 14:35:04
糟糕。那是我的錯誤。固定。 :) – Shion 2012-04-06 22:22:30