首页 新闻 会员 周边

急!急!急!求大神告知 xml问题

0
悬赏园豆:15 [已解决问题] 解决于 2015-06-12 16:00
<?xml version="1.0" encoding="UTF-8"?>
<1>
<2 >
<01>11</01>
</2>
<3 >
<01>11</01>
</3>
<4>
<01>11</01>
</4>
<2 >
        <01>11</01>
</2>
<3 >
<01>11</01>
</3>
    <4> 
<01>11</01>
</4>

</1>
c#怎样改成
<?xml version="1.0" encoding="UTF-8"?>
<1>
<2 >
<01>11</01>
</2>
<2 >
<01>11</01>
</2>
<3 >
<01>11</01>
</3>
<3 >
<01>11</01>
</3>
<4> 
<01>11</01>
</4>
<4> 
<01>11</01>
</4>

</1>
菜鸟起飞啊的主页 菜鸟起飞啊 | 初学一级 | 园豆:15
提问于:2015-06-11 10:17
< >
分享
最佳答案
0

按子元素名排序,是这意思吗,看了好久

收获园豆:15
吴瑞祥 | 高人七级 |园豆:29449 | 2015-06-11 10:22

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 10:23

这怎样做了

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 10:23

@小菜鸟5: 你要做什么的。。这种事儿没什么意义。

你用linq2xml吧所有的元素读出来排序后再保存下

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-11 10:27

@吴瑞祥: 我要验证已经写好的xsd文件 不这样做验证不通过啊

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 10:35

@小菜鸟5: linq to xml 怎样排序

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 10:40

@小菜鸟5: 给你百度了下

http://outofmemory.cn/code-snippet/46/linq-to-xml-operation-XML

照着这个方法后面接个orderby

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-11 11:03

@吴瑞祥: 

XElement xe = XElement.Load(@"f:\Data\" + MPID + ".xml");
var query = from xn in xe.Element("TGSYs").Elements()
orderby XElement.Parse(xn.ToString()).Name
select new
{
jname = XElement.Parse(xn.ToString()).Name
};
foreach(var v in query)
{
Console.WriteLine("jname={0}",v.jname );
}

报错 必须至少有一个对象实现 IComparable 要怎样解决啊  大神能告诉我一下吗 我自己实在是不知道怎样办了

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 15:41

@小菜鸟5: 

要改成这样的怎么改啊

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 16:50

@吴瑞祥: 

@小菜鸟5: 

要改成这样的怎么改啊

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 16:50

@小菜鸟5: 看不懂。排序的话,他说你的对象不支持对比大小。你弄个能对比大小的就行了

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-11 16:59

@吴瑞祥: 我要根据 JYDZ DRL JZSH JBFD YSP 这五个节点名称来排序

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-11 17:03

@小菜鸟5: 你原来那代码应该是可以的,改下orderby后面选择的值就行。

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-11 17:10

@吴瑞祥: 怎么改啊 能写个例子吗

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-12 09:50

@小菜鸟5: 当然不能。你那不是有错误提示吗?吧错误解决了不就好了。。。。

吴瑞祥 | 园豆:29449 (高人七级) | 2015-06-12 10:17

@吴瑞祥: 

XElement xe = XElement.Load(@"f:\Data\" + MPID + ".xml");
var query = from xn in xe.Elements("TGSYs")
orderby xn.Name
select new
{
jydz=xn.Elements("JYDZ"),
drl=xn.Elements("DRL"),
jzsh = xn.Elements("JZSH"),
jbfd = xn.Elements("JBFD"),
ysp = xn.Elements("YSP")
};
foreach(var v in query)
{
Console.WriteLine("jydz={0},drl={1},jzsh={2},jbfd={3},ysp={4}", v.jydz,v.drl,v.jzsh,v.jbfd,v.ysp);
}

没有报错了 但排序没有成功啊

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-12 10:20

@吴瑞祥: 虽然没有解决,但是还是要谢谢你

菜鸟起飞啊 | 园豆:15 (初学一级) | 2015-06-12 16:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册