我是使用XML的新手,也是XPath的新手。 我正在尝试在XML文档中选择一个字段,并在网页上的标签中显示该字段。听起来很简单。
以下是我网页上的代码:
<body>
<form id="form1" runat="server">
<div>
<asp:ListView ID="NewsListView" runat="server" DataSourceID="NewsDataSource">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" ><%#XPath("temp1")%></asp:Label>
</ItemTemplate>
</asp:ListView>
<asp:XmlDataSource ID="NewsDataSource" runat="server" DataFile="~/news.xml"></asp:XmlDataSource>
</div>
</form>
</body>
使用类似下面的XML文档时,这样可以100%正常工作。
<test>
<response>
<temp1>23.7</temp1>
</response>
</test>
但我试图访问的XML文档,我无法更改,如下所示:
<response>
<temp1>23.7</temp1>
</response>
基本上是相同的文档,但顶部没有额外的节点。
无论如何我可以让XPath在没有额外节点的情况下读取temp1的值吗?
感谢。
答案 0 :(得分:0)
我不熟悉xpath但是看文档..你可以添加
<asp:Repeater
id="Repeater1"
runat="server"
DataSource='<%# XPathSelect("response") %>' >
答案 1 :(得分:0)
找到解决方案。添加XPath =&#34; / response&#34;到XMLDataSource就可以了。
答案 2 :(得分:0)
我之前从未尝试过这个API,但它是否可以做这样的事情?
<%#XPath("temp1/text()")%>
此xpath应返回temp1元素的文本。