P
pompair
Hello,
I'm making a quiz game for fun. I have an xml file like this:
<?xml version="1.0" encoding="utf-8" ?>
<results>
<index>99</index>
<answers>11</answers>
<questions>
<question id="1">
<spindex>1</spindex>
<text>question1</text>
</question>
<question id="2">
<spindex>2</spindex>
<text>question2</text>
</question>
... etc ...
</questions>
</results>
Then I have DetailsView setup like this:
<aspetailsView ID="DetailsView1" runat="server"
AllowPaging="True" AutoGenerateRows="False"
DataSourceID="ds1" DataKeyNames="id">
<Fields>
<asp:BoundField DataField="id" HeaderText="id"
SortExpression="id" />
<asp:BoundField DataField="text" HeaderText="text"
SortExpression="text" />
</Fields>
</aspetailsView>
I have XmlDataSource setup like this:
<asp:XmlDataSource ID="ds1" runat="server" DataFile="~/
XMLFile1.xml" XPath="//results/questions/question">
</asp:XmlDataSource>
Running the webform causes error: "A field or property with the name
'text' was not found on the selected data source".
The app works if I move the <text> fields from elements to attributes!
Like this:
<?xml version="1.0" encoding="utf-8" ?>
<results>
<index>99</index>
<answers>11</answers>
<questions>
<question id="1" text="q2">
<spindex>1</spindex>
</question>
<question id="2" text="q2">
<spindex>2</spindex>
</question>
... etc....
</questions>
</results>
So I guess it's a XPath problem in my XmlDataSource's XPath setting.
How to make this work with the original xml file (with the <text>
fields as elementst)??
-pom-
I'm making a quiz game for fun. I have an xml file like this:
<?xml version="1.0" encoding="utf-8" ?>
<results>
<index>99</index>
<answers>11</answers>
<questions>
<question id="1">
<spindex>1</spindex>
<text>question1</text>
</question>
<question id="2">
<spindex>2</spindex>
<text>question2</text>
</question>
... etc ...
</questions>
</results>
Then I have DetailsView setup like this:
<aspetailsView ID="DetailsView1" runat="server"
AllowPaging="True" AutoGenerateRows="False"
DataSourceID="ds1" DataKeyNames="id">
<Fields>
<asp:BoundField DataField="id" HeaderText="id"
SortExpression="id" />
<asp:BoundField DataField="text" HeaderText="text"
SortExpression="text" />
</Fields>
</aspetailsView>
I have XmlDataSource setup like this:
<asp:XmlDataSource ID="ds1" runat="server" DataFile="~/
XMLFile1.xml" XPath="//results/questions/question">
</asp:XmlDataSource>
Running the webform causes error: "A field or property with the name
'text' was not found on the selected data source".
The app works if I move the <text> fields from elements to attributes!
Like this:
<?xml version="1.0" encoding="utf-8" ?>
<results>
<index>99</index>
<answers>11</answers>
<questions>
<question id="1" text="q2">
<spindex>1</spindex>
</question>
<question id="2" text="q2">
<spindex>2</spindex>
</question>
... etc....
</questions>
</results>
So I guess it's a XPath problem in my XmlDataSource's XPath setting.
How to make this work with the original xml file (with the <text>
fields as elementst)??
-pom-