【发布时间】:2011-04-19 23:16:53
【问题描述】:
这是我必须使用的一些自动生成的 XML 中的一条记录的截断示例。
<marcrecord>
<marcdatafield tag="245" ind1="0" ind2="0">
<marcsubfield code="a">Argumentation and advocacy :</marcsubfield>
<marcsubfield code="b">the journal of the American Forensic Association.</marcsubfield>
</marcdatafield>
<marcdatafield tag="246" ind1="1" ind2="7">
<marcsubfield code="a">Journal of the American Forensic Association</marcsubfield>
<marcsubfield code="f">summer 1988-spring 1989</marcsubfield>
</marcdatafield>
<marcdatafield tag="246" ind1="3" ind2="">
<marcsubfield code="a">Argumentation & advocacy</marcsubfield>
</marcdatafield>
<marcdatafield tag="260" ind1="" ind2="">
<marcsubfield code="a">[River Falls, WI] :</marcsubfield>
<marcsubfield code="b">The Association,</marcsubfield>
<marcsubfield code="c">[1988-</marcsubfield>
</marcdatafield>
<marcdatafield tag="300" ind1="" ind2="">
<marcsubfield code="a">v. ;</marcsubfield>
<marcsubfield code="c">26 cm.</marcsubfield>
</marcdatafield>
<marcdatafield tag="650" ind1="" ind2="0">
<marcsubfield code="a">Forensics (Public speaking)</marcsubfield>
<marcsubfield code="v">Periodicals.</marcsubfield>
</marcdatafield>
<marcdatafield tag="710" ind1="2" ind2="">
<marcsubfield code="a">American Forensic Association.</marcsubfield>
</marcdatafield>
<marcdatafield tag="780" ind1="0" ind2="0">
<marcsubfield code="a">American Forensic Association.</marcsubfield>
<marcsubfield code="t">Journal of the American Forensic Association</marcsubfield>
<marcsubfield code="x">0002-8533</marcsubfield>
<marcsubfield code="w">(DLC)sf 80000452</marcsubfield>
<marcsubfield code="w">(OCoLC)1479880</marcsubfield>
</marcdatafield>
<marcrecord>
我需要在标记为 780 的 marcdatafield 中显示数据(特别是编码为 t 的一个子字段)。要检索的特定 780 子字段基于在标记为 245 的数据字段的前一个子字段中找到匹配项(这是标题)
用户的标题搜索字符串位于名为 title 的变量中,下面的 XPath 似乎在根据标题匹配查找特定记录方面做得不错。
XPathExpression expr = xpath.compile("//marcdatafield[marcsubfield='" +title+ "']/*/text()");
但我不知道如何让它实际检索关联的 780 字段而不仅仅是标题字段。 (FWIW,这是使用本机 Java XPath 类,我将在 JSP 中使用它)
感谢您的帮助,
塞西
【问题讨论】:
-
您能告诉我们您希望 xPath 选择什么吗?我无法理解您对您想要什么的解释。
-
我想为标题变量获取用户输入并将其与以下值匹配:
争论和倡导但我要检索的值在: 美国法医协会。 –