Gridview是否可以显示XML元素名称?

时间:2014-09-20 02:39:16

标签: xml aspxgridview

我有一个具有以下结构的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应该是一个属性名称。它可以是内部文本值吗?我该怎么办?

1 个答案:

答案 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>