我有一个具有以下结构的xml文件
<companies>
<company>
<CompanyName>CompanyA</CompanyName>
<tel>123</tel>
</company>
<company>
<CompanyName>CompanyB</CompanyName>
<tel>456</tel>
</company>
</companies>
我想使用内联代码
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Companies.xml" XPath="Companies/Company/CompanyName"></asp:XmlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataSourceID="XmlDataSource1">
<Columns>
<asp:BoundField DataField="text()" HeaderText="Company Name" />
</Columns>
</asp:GridView>
但它不起作用。我知道DataField应该是一个属性名称。它可以是内部文本值吗?我该怎么办?
答案 0 :(得分:0)
我找到了唯一的办法
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Companies.xml" XPath="Company"></asp:XmlDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataSourceID="XmlDataSource1" XPath="Companies/Company">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%#XPath("FirstName") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>