这是xml文件的一部分。假设我想把标签ns2:DAyOfWeek的所有值放在3个文本框中,或者只是获取特定文本框的值(例如:)<ns2:DayOfWeek lang="zh-cn">。我该怎么办?
xml文件的一部分:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<ns2:GetFixtureByRaceResponse xmlns:ns2="http://www.hkjc.org.hk/Schema/CAP/IDASUBRS/FixtureLocal_v2" xmlns="http://www.hkjc.org.hk/Schema/CAP/Common_v2">
<ns2:Return>
<Code>0</Code>
<EndOf_v2_0Elm />
</ns2:Return>
<ns2:RacingEvent>
<ns2:Meeting meetingDate="2022-09-11+08:00" meetingID="MTG_20220911_0001" statusLastUpdated="2022-09-07T14:22:17.000+08:00" venueCode="ST">
<ns2:MeetingInfo>
<ns2:DayOfWeek lang="en-us">SUN</ns2:DayOfWeek>
<ns2:DayOfWeek lang="zh-cn">星期日</ns2:DayOfWeek>
<ns2:DayOfWeek lang="zh-hk">星期日</ns2:DayOfWeek>
<ns2:Status>Defined</ns2:Status>
<ns2:RaceSeason>22/23</ns2:RaceSeason>
<ns2:NumOfRace>10</ns2:NumOfRace>
<ns2:MeetingNo>01</ns2:MeetingNo>
<ns2:TrackCode>TURF</ns2:TrackCode>
<ns2:MeetingType>D</ns2:MeetingType>
<ns2:ScheduledNumOfRace>10</ns2:ScheduledNumOfRace>
<ns2:ActualNumOfRace>0</ns2:ActualNumOfRace>
<ns2:EndOf_v2_0Elm />
</ns2:MeetingInfo>
<ns2:EndOf_v2_0Elm />
</ns2:Meeting>
<ns2:Race meetingID="MTG_20220911_0001" raceID="RACE_20220911_0010" raceNo="1" statusLastUpdated="2022-09-07T09:06:53.522+08:00">
<ns2:RaceInfo>
<ns2:Status>Declared</ns2:Status>
<ns2:PostTime>2022-09-11T13:00:00.000+08:00</ns2:PostTime>
<ns2:RaceName lang="en-us" seqNo="1">MOUNT PARKER HANDICAP</ns2:RaceName>
<ns2:RaceName lang="zh-cn" seqNo="1">柏架山让赛</ns2:RaceName>
<ns2:RaceName lang="zh-hk" seqNo="1">柏架山讓賽</ns2:RaceName>
<ns2:Distance>1600</ns2:Distance>
<ns2:NoOfDeclaredStarters>14</ns2:NoOfDeclaredStarters>
<ns2:PrizeMoney prizeLevel="1">461700.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="2">178200.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="3">93150.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="4">48600.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="5">28350.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="6">0.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="7">0.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="8">0.00</ns2:PrizeMoney>
<ns2:PrizeMoney prizeLevel="9">0.00</ns2:PrizeMoney>
<ns2:StakePrize>810000.00000</ns2:StakePrize>
<ns2:RaceRemarks lang="en-us" seqNo="1" />
<ns2:RaceRemarks lang="en-us" seqNo="2" />
<ns2:RaceRemarks lang="en-us" seqNo="3" />
<ns2:RaceRemarks lang="en-us" seqNo="4" />
<ns2:RaceRemarks lang="en-us" seqNo="5" />
<ns2:RaceRemarks lang="en-us" seqNo="6" />
<ns2:RaceRemarks lang="en-us" seqNo="7" />
<ns2:RaceRemarks lang="en-us" seqNo="8" />
<ns2:RaceRemarks lang="zh-cn" seqNo="1" />
<ns2:RaceRemarks lang="zh-cn" seqNo="2" />
<ns2:RaceRemarks lang="zh-cn" seqNo="3" />
<ns2:RaceRemarks lang="zh-cn" seqNo="4" />
<ns2:RaceRemarks lang="zh-cn" seqNo="5" />
<ns2:RaceRemarks lang="zh-cn" seqNo="6" />
<ns2:RaceRemarks lang="zh-cn" seqNo="7" />
<ns2:RaceRemarks lang="zh-cn" seqNo="8" />
<ns2:RaceRemarks lang="zh-hk" seqNo="1" />
<ns2:RaceRemarks lang="zh-hk" seqNo="2" />
<ns2:RaceRemarks lang="zh-hk" seqNo="3" />
<ns2:RaceRemarks lang="zh-hk" seqNo="4" />
<ns2:RaceRemarks lang="zh-hk" seqNo="5" />
<ns2:RaceRemarks lang="zh-hk" seqNo="6" />
<ns2:RaceRemarks lang="zh-hk" seqNo="7" />
<ns2:RaceRemarks lang="zh-hk" seqNo="8" />
<ns2:Local>
<ns2:RaceIndex>1</ns2:RaceIndex>
<ns2:ClassCode>5</ns2:ClassCode>
<ns2:TrackCode>TURF</ns2:TrackCode>
<ns2:CourseCode>A</ns2:CourseCode>
<ns2:RatingRange>040-000</ns2:RatingRange>
<ns2:RatingType>H</ns2:RatingType>
<ns2:RaceType>H</ns2:RaceType>
<ns2:FieldSize>14</ns2:FieldSize>
<ns2:CupIndex />
<ns2:Footnotes lang="en-us" seqNo="1" />
<ns2:Footnotes lang="en-us" seqNo="2" />
<ns2:Footnotes lang="en-us" seqNo="3" />
<ns2:Footnotes lang="en-us" seqNo="4" />
<ns2:Footnotes lang="zh-hk" seqNo="1" />
<ns2:Footnotes lang="zh-hk" seqNo="2" />
<ns2:Footnotes lang="zh-hk" seqNo="3" />
<ns2:Footnotes lang="zh-hk" seqNo="4" />
<ns2:InternationalRaceIndicator>0</ns2:InternationalRaceIndicator>
<ns2:SectionNo>1</ns2:SectionNo>
<ns2:Going />
<ns2:SpecialRaceIndicator />
<ns2:SecDivDisplayIndicator>S</ns2:SecDivDisplayIndicator>
<ns2:StarterRemarks lang="en-us" seqNo="1" />
<ns2:StarterRemarks lang="en-us" seqNo="2" />
<ns2:StarterRemarks lang="en-us" seqNo="3" />
<ns2:StarterRemarks lang="en-us" seqNo="4" />
<ns2:StarterRemarks lang="en-us" seqNo="5" />
<ns2:StarterRemarks lang="en-us" seqNo="6" />
<ns2:StarterRemarks lang="en-us" seqNo="7" />
<ns2:StarterRemarks lang="en-us" seqNo="8" />
<ns2:StarterRemarks lang="zh-cn" seqNo="1" />
<ns2:StarterRemarks lang="zh-cn" seqNo="2" />
<ns2:StarterRemarks lang="zh-cn" seqNo="3" />
<ns2:StarterRemarks lang="zh-cn" seqNo="4" />
<ns2:StarterRemarks lang="zh-cn" seqNo="5" />
<ns2:StarterRemarks lang="zh-cn" seqNo="6" />
<ns2:StarterRemarks lang="zh-cn" seqNo="7" />
<ns2:StarterRemarks lang="zh-cn" seqNo="8" />
<ns2:StarterRemarks lang="zh-hk" seqNo="1" />
<ns2:StarterRemarks lang="zh-hk" seqNo="2" />
<ns2:StarterRemarks lang="zh-hk" seqNo="3" />
<ns2:StarterRemarks lang="zh-hk" seqNo="4" />
<ns2:StarterRemarks lang="zh-hk" seqNo="5" />
<ns2:StarterRemarks lang="zh-hk" seqNo="6" />
<ns2:StarterRemarks lang="zh-hk" seqNo="7" />
<ns2:StarterRemarks lang="zh-hk" seqNo="8" />
<ns2:EndOf_v2_0Elm />
</ns2:Local>
<ns2:WageringFieldSize>14</ns2:WageringFieldSize>
<ns2:EndOf_v2_0Elm />
</ns2:RaceInfo>
<ns2:EndOf_v2_0Elm />
</ns2:Race>
下面的代码是如果我想得到一个特定的。(它不工作)
String URLString = "myXMLFile";
XmlReader reader = XmlReader.Create(URLString);
var dayOfWeek = new List<string>();
while (reader.Read())
{
if (reader.Name.Equals("ns2:DayOfWeek") && reader.GetAttribute("lang").Equals("zh-cn"))
{
dayOfWeek.Add(ReadElementContentAsString());
textBox1.Text = dayOfWeek[0];
}
}
下面是如果我想得到所有三个DayOfWeek内容。(它不工作,它只显示第一个(“SUN”),它说indexOutOfBound)
while (reader.Read())
{
if (reader.Name.Equals("ns2:DayOfWeek")))
{
dayOfWeek.Add(ReadElementContentAsString());
textBox1.Text = dayOfWeek[0];
textBox2.Text = dayOfWeek[1];
textBox3.Text = dayOfWeek[2];
}
}
请帮帮忙。。谢谢
2条答案
按热度按时间e0bqpujr1#
如果你不想解析整个文件,试试这个
whlutmcx2#
考虑创建一个C#类来表示你在文章中放置的xml模式。使用你的代码片段(并关闭几个标签以使其语法有效),可以使用在线生成器(例如https://json2csharp.com/code-converters/xml-to-csharp)来创建一个功能正常的C#类,而无需手动编写代码。
然后,您可以访问
DayOfWeek
元素列表,并使用传统的C#语法“put all the value [...] in 3 textboxs”。已生成
其中: