これが私の最初の投稿です。Rubyを使い始めたばかりで、XML処理にREXMLを使用しています。ここに私のxmlファイルの小さなサンプルを示します:
<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のチュートリアルと式、およびこのWebサイトの関連する質問の多くを見て、軸と、祖先/後続の兄弟などのさまざまな概念について学びました。しかし、私は本当に混乱していて、これを簡単に理解できません。
何か助けが得られるのか、誰かが私を「読みやすい」オンラインリソースに向けてくれるのかと思っていました。
ありがとうございました。
アップデート:
私は次のようなコードのさまざまな組み合わせを試してきました。
idss = XPath.match(xmldoc, "//identifier[text()='oai:lcoa1.loc.gov:loc.gmd/"+mapid+"']/parent::header/following-sibling::metadata/child::mods/child::titleInfo/child::title")
コードはコンパイルされますが、何も出力されません。私は何がそんなに間違っているのだろうと思っています。