我正在尝试解析如下所示的xml提要:
<item>
<title>item title</title>
<link>item link</link>
<description>item description</description>
</item>我正在尝试寻找一个xpath表达式,它将检索每个条目的所有详细信息,以便提要中的每个条目都包含在它自己的数组中,或者以某种方式分组。我尝试使用//item/*,但标签没有分组,尽管它们的顺序是正确的。
有没有这样做的方法呢?
编辑:
[
[title1, link1, desc1],
[title2, link2, desc2],
[title3, link3, desc3]
]发布于 2010-12-31 20:51:24
来自http://www.w3.org/TR/xpath/#section-Introduction
计算表达式以生成对象,该对象具有以下四种基本类型之一:
因此,没有像元组这样的“结构化”数据类型。对于您的任务,"standar“解决方案是选择父对象并遍历它们,使用任何DOM API方法获取子对象。
发布于 2010-12-31 17:22:58
使用下面的输入
<root>
<item>
<title>item title</title>
<link>item link</link>
<description>item description</description>
</item>
<item>
<title>item2</title>
<link>link2</link>
<description>description2</description>
</item>
</root>和这个xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="//item">
<xsl:value-of select="./title"/><xsl:text>
</xsl:text>
<xsl:value-of select="./link"/><xsl:text>
</xsl:text>
<xsl:value-of select="./description"/><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>您将获得以下输出
item title
item link
item description
item2
link2
description2我希望这能帮到你..
发布于 2010-12-31 21:00:35
下面是一个返回序列的XML2.0XML表达式(假设XPath的答案是输入文档):
for $item in /root/item
return ($item/title/text(), $item/link/text(), $item/description/text())序列是有序的,但不允许嵌套,因此您无法获得纯XPath所要求的那种数据结构。使用XSLT (或另一种宿主语言),您可以创建提供所需结构的新对象。
https://stackoverflow.com/questions/4568198
复制相似问题