求助求助,紧急救助,关于C# XML!

SeanAstin 2015-10-16 05:14:40
<?xml version="1.0"?>
<ufinterface sender="945" receiver="u8" roottag="eb_trade" efserverid="999" eftype="98" docid="141140162" proc="Add" codeexchanged="n" exportneedexch="945" paginate="0" display="XXX" family="XXX" dynamicdate="12/12/2014" maxdataitems="20000" bignoreextenduserdefines="y" succeed="1" dsc="">
<cShopCode>209D18791DE7B8D1</cShopCode>
<tid>201510110000000005</tid>
<title>241241234</title>
<receiver_name />
<receiver_state>11</receiver_state>
<receiver_city>1101</receiver_city>
<receiver_district>110118</receiver_district>
<receiver_address />
<receiver_zip>300000</receiver_zip>
<receiver_mobile />
<isInvoice>1</isInvoice>
<receiver_phone />
<created>2015-10-1118:32:33</created>
<buyer_message>test</buyer_message>
<invoice_name>241241234</invoice_name>
<cInvoiceCode>112111</cInvoiceCode>
<cExpressCoName>1</cExpressCoName>
<body>
<entry>
<title>201510110000000005-0000031872-00000000000000006230</title>
<num_iid>1100002320EA</num_iid>
<sku_id>1100002320EA</sku_id>
<num>1</num>
<price>5.4</price>
</entry>
<entry>
<title>201510110000000005-0000031872-00000000000000006230</title>
<num_iid>1100002320EA</num_iid>
<sku_id>1100002320EA</sku_id>
<num>1</num>
<price>5.4</price>
</entry>
</body>
</ufinterface>

这是json反序列化对象,
然后再序列化成xml的。
但现在我需要在<cShopCode>和<cExpressCoName>的外面再包围一层<header><herader/>,
然后除了根节点外面再包围一层<eb_trade></eb_trade>。



效果如下!求大神赐教。


<?xml version="1.0"?>
<ufinterface sender="945" receiver="u8" roottag="eb_trade" efserverid="999" eftype="98" docid="141140162" proc="Add" codeexchanged="n" exportneedexch="945" paginate="0" display="XXX" family="XXX" dynamicdate="12/12/2014" maxdataitems="20000" bignoreextenduserdefines="y" succeed="1" dsc="">
<eb_trade>
<header>
<cShopCode>209D18791DE7B8D1</cShopCode>
<tid>201510110000000005</tid>
<title>241241234</title>
<receiver_name />
<receiver_state>11</receiver_state>
<receiver_city>1101</receiver_city>
<receiver_district>110118</receiver_district>
<receiver_address />
<receiver_zip>300000</receiver_zip>
<receiver_mobile />
<isInvoice>1</isInvoice>
<receiver_phone />
<created>2015-10-1118:32:33</created>
<buyer_message>test</buyer_message>
<invoice_name>241241234</invoice_name>
<cInvoiceCode>112111</cInvoiceCode>
<cExpressCoName>1</cExpressCoName>
</header>
<body>
<entry>
<title>201510110000000005-0000031872-00000000000000006230</title>
<num_iid>1100002320EA</num_iid>
<sku_id>1100002320EA</sku_id>
<num>1</num>
<price>5.4</price>
</entry>
<entry>
<title>201510110000000005-0000031872-00000000000000006230</title>
<num_iid>1100002320EA</num_iid>
<sku_id>1100002320EA</sku_id>
<num>1</num>
<price>5.4</price>
</entry>
</body>
</eb_trade>
</ufinterface>
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SeanAstin 2015-10-16
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
string xml = @"<?xml version=""1.0""?>
<ufinterface sender=""945"" receiver=""u8"" roottag=""eb_trade"" efserverid=""999"" eftype=""98"" docid=""141140162"" proc=""Add"" codeexchanged=""n"" exportneedexch=""945"" paginate=""0"" display=""XXX"" family=""XXX"" dynamicdate=""12/12/2014"" maxdataitems=""20000"" bignoreextenduserdefines=""y"" succeed=""1"" dsc="""">
<cShopCode>209D18791DE7B8D1</cShopCode>
<tid>201510110000000005</tid>
<title>241241234</title>
<receiver_name />
<receiver_state>11</receiver_state>
<receiver_city>1101</receiver_city>
<receiver_district>110118</receiver_district>
<receiver_address />
<receiver_zip>300000</receiver_zip>
<receiver_mobile />
<isInvoice>1</isInvoice>
<receiver_phone />
<created>2015-10-1118:32:33</created>
<buyer_message>test</buyer_message>
<invoice_name>241241234</invoice_name>
<cInvoiceCode>112111</cInvoiceCode>
<cExpressCoName>1</cExpressCoName>
<body>
    <entry>
        <title>201510110000000005-0000031872-00000000000000006230</title>
        <num_iid>1100002320EA</num_iid>
        <sku_id>1100002320EA</sku_id>
        <num>1</num>
        <price>5.4</price>
    </entry>
    <entry>
        <title>201510110000000005-0000031872-00000000000000006230</title>
        <num_iid>1100002320EA</num_iid>
        <sku_id>1100002320EA</sku_id>
        <num>1</num>
        <price>5.4</price>
    </entry>
</body>
</ufinterface>";
XElement root = XElement.Parse(xml);
var eles = root.Elements();
XElement header = new XElement("header", eles.Where(e => e.Name != "body"));
XElement eb_trade = new XElement("eb_trade", header, eles.First(e => e.Name=="body"));
root.RemoveNodes();
root.Add(eb_trade);
Console.WriteLine(root);
你太棒了,赞赞赞!!!
  • 打赏
  • 举报
回复
string xml = @"<?xml version=""1.0""?>
<ufinterface sender=""945"" receiver=""u8"" roottag=""eb_trade"" efserverid=""999"" eftype=""98"" docid=""141140162"" proc=""Add"" codeexchanged=""n"" exportneedexch=""945"" paginate=""0"" display=""XXX"" family=""XXX"" dynamicdate=""12/12/2014"" maxdataitems=""20000"" bignoreextenduserdefines=""y"" succeed=""1"" dsc="""">
<cShopCode>209D18791DE7B8D1</cShopCode>
<tid>201510110000000005</tid>
<title>241241234</title>
<receiver_name />
<receiver_state>11</receiver_state>
<receiver_city>1101</receiver_city>
<receiver_district>110118</receiver_district>
<receiver_address />
<receiver_zip>300000</receiver_zip>
<receiver_mobile />
<isInvoice>1</isInvoice>
<receiver_phone />
<created>2015-10-1118:32:33</created>
<buyer_message>test</buyer_message>
<invoice_name>241241234</invoice_name>
<cInvoiceCode>112111</cInvoiceCode>
<cExpressCoName>1</cExpressCoName>
<body>
    <entry>
        <title>201510110000000005-0000031872-00000000000000006230</title>
        <num_iid>1100002320EA</num_iid>
        <sku_id>1100002320EA</sku_id>
        <num>1</num>
        <price>5.4</price>
    </entry>
    <entry>
        <title>201510110000000005-0000031872-00000000000000006230</title>
        <num_iid>1100002320EA</num_iid>
        <sku_id>1100002320EA</sku_id>
        <num>1</num>
        <price>5.4</price>
    </entry>
</body>
</ufinterface>";
XElement root = XElement.Parse(xml);
var eles = root.Elements();
XElement header = new XElement("header", eles.Where(e => e.Name != "body"));
XElement eb_trade = new XElement("eb_trade", header, eles.First(e => e.Name=="body"));
root.RemoveNodes();
root.Add(eb_trade);
Console.WriteLine(root);
SeanAstin 2015-10-16
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
linq to xml 取出包含内容,增加节点。
能给个详细代码吗? 我是小菜一个,求助啊
exception92 2015-10-16
  • 打赏
  • 举报
回复
linq to xml 取出包含内容,增加节点。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧