【发布时间】:2014-03-08 00:28:24
【问题描述】:
我知道这是一个很长的问题.. 但是我在这里发疯了,试图学习解析 XML 文档的众多方法中的一种... 我在网上的很多示例都是非常简单的 XML 文档.. 但是我有一些多层次的东西,我想解析它..
我的班级代码在这里:http://pastebin.com/VKbWzKHG
<?xml version="1.0" encoding="utf-8"?>
<PageList>
<Page>
<UpperLeft>
<Parameters>
<League>AL</League>
<Season>R</Season>
<Category>Runs</Category>
<RankOrder>n/a</RankOrder>
</Parameters>
<Info>
<Row1>
<TeamLogo>LAA.tif</TeamLogo>
<Rank>1.</Rank>
<Name>Trout</Name>
<Stat>109</Stat>
</Row1>
<Row2>
.
.
.
</Row5>
</Info>
</UpperLeft>
<UpperRight>
.
.
.
</UpperRight>
<LowerLeft>
.
.
</LowerLeft>
<LowerRight>
.
.
</LowerRight>
</Page>
</PageList>
几乎会有很多页面..我不想粘贴完整的东西所以我试着把它剪掉..但这是结构:
page
--> upper left
--> parameters
--> league
--> season
--> category
--> rankorder
--> info
--> row 1
--> team logo
--> rank
--> name
--> stat
--> row 2 to row 5
--> upper right, lower left, lower right
end page
我怎样才能成功解析这个噩梦?一切都是我创建的一个漂亮而整洁的类..但是试图把所有东西都放回一个类我只是遇到了很多麻烦..
XDocument xdoc;
try
{
List<MLBPage> collection =
{
from e in XDocument.Load("PageList.xml").Root.Elements("PageList")
select new MLBPage
{
ul = new Quadrant //upper left
{
qp = new QuadrantParameters
{
//league, season, category, rank order here
},
qi = new QuadrantInfo
{
//team logo, rank, name, stat here
}
}
}
}
}
catch (Exception)
{
/
【问题讨论】:
-
你为什么不创建一个与 xml 完全一样的类结构并反序列化它?
-
我确实有一个类似于 xml 的类...我将编辑 OP 并粘贴这些类。因为我不确定如何反序列化?
-
好的,我粘贴了我的课程..你们能给我一个你正在谈论的反序列化的例子吗?只是想找到解决办法
标签: c# xml linq linq-to-xml xmlreader