首页 新闻 会员 周边

xml问题,急急急大神们求帮助

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-16 15:41

父节点下有 A、B、C三个节点,A节点随着数据库里的数据循环添加 等A节点所有数据添加完后 在B节点随着数据库里的数据循环添加 不是添加一个A然后添加一个B

<abc>

  <a>

      <value>01<value>

  </a>

  <a>

      <value>02<value>

  </a>

.

.

.

<

  <b>

      <value>01<value>

  </b>

  <b>

      <value>02<value>

  </b>

.

.

.

<c>

      <value>01<value>

  </c>

  <c>

      <value>02<value>

  </c>

.

.

.

</abc>

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

C呢?

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-06-15 12:15

C是在B添加完后在随数据库数据添加, 而且ABC用的是数据库里同一张表的数据

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

@菜鸟起飞啊: 对不起我没表达清楚。

我的意思是你说啥完全没看懂,能不能不要这么抽象?

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-06-15 13:46

@爱编程的大叔: 

怎样生成这样的这是xmlspy工具里的截图

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

@菜鸟起飞啊: 你这样说应该就有人能懂了。

不过我还是不懂,这个怎么了?

你是需要代码?什么语言?还是哪一步不懂?

1、读数据库

2、生成XML字符串

3、保存文件。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-06-15 14:46

@爱编程的大叔: 生成那样的xml字符串不会   每次都生成了abcabcabc而不是aaabbbccc    我需要形成那样的代码,思路也行

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

@菜鸟起飞啊: 你怎么写的?

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-06-15 15:08

@爱编程的大叔: 

XmlElement TGSY = xmldoc.CreateElement("TGSYs");
xe1.AppendChild(TGSY);

foreach (DataRow dr in dt.Rows)
{

Jydz(TGSY, dr);
Drl(TGSY, dr);与jydz相试
Jzsh(TGSY, dr);与jydz相试
Jbfd(TGSY, dr);与jydz相试
Ysp(TGSY, dr);与jydz相试

  private static void Jydz(XmlElement TGSY, DataRow dr)


XmlElement RowElen = xmldoc.CreateElement("JYDZ");
RowElen.SetAttribute("Remark", "0");
RowElen.SetAttribute("Temperature", HJWD);
RowElen.SetAttribute("TestID", dr["SYSTEM_ID"].ToString());
RowElen.SetAttribute("TestProperty", dr["SYSTEM_SY_SYXZ"].ToString() + "试验");
RowElen.SetAttribute("AcquisitionTime", var);
RowElen.SetAttribute("Humidity", HJSD);
RowElen.SetAttribute("OilTemperature",Oil);
XmlElement xt = xmldoc.CreateElement("Phase");
xt.SetAttribute("Name", "A相");
RowElen.AppendChild(xt);
XmlElement xt1 = xmldoc.CreateElement("WindingType");
xt1.SetAttribute("Name", "高压绕组");
xt.AppendChild(xt1);
XmlElement xt2 = xmldoc.CreateElement("ZP_JYDZ");
xt2.SetAttribute("DataUnit", "MΩ");
xt1.AppendChild(xt2);
XmlElement xt3 = xmldoc.CreateElement("Value");
xt3.InnerText = "0";//dr["ITEM_c6a9c6a5-44eb-4e88-879f-9307e0d23302"].ToString();
xt2.AppendChild(xt3);
XmlElement xt4 = xmldoc.CreateElement("MP_JYDZ");
xt4.SetAttribute("DataUnit", "MΩ");
xt1.AppendChild(xt4);
XmlElement xt5 = xmldoc.CreateElement("Value");
xt5.InnerText = dr["ITEM_5acfe3a4-e9dd-42dd-aa5a-0556d7b745ff"].ToString();
xt4.AppendChild(xt5);
TGSY.AppendChild(RowElen);

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

@爱编程的大叔: 我就是按上面来写的

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

@菜鸟起飞啊: 大叔你行行好帮帮我好吗,我真的很急,帮帮忙好吗

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

@爱编程的大叔: 大叔你行行好帮帮我好吗,我真的很急,帮帮忙好吗

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

@菜鸟起飞啊: 

你google XML 排序

或者看看这文章

http://www.cnblogs.com/hopecn/archive/2008/06/27/1231081.html

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-06-15 17:40

@爱编程的大叔: 我用这种排序不行啊,能帮我看看吗

XElement xe = XElement.Load(@"f:\Data\" + MPID + ".xml");
var query = from xn in xe.Elements("TGSYs")
let jydz = xn.Elements("JYDZ")
let drl = xn.Elements("DRL")
let jzsh = xn.Elements("JZSH")
let jbfd = xn.Elements("JBFD")
let ysp = xn.Elements("YSP")
orderby jydz,drl,jzsh,jbfd,ysp
select new
{
jydz=jydz,
drl=drl,
jzsh = jzsh,
jbfd = jbfd,
ysp = 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);
xe.Save(@"f:\Data\" + MPID + ".xml");
}

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