如何在c#中创建子节点 [英] how to make child node in c#

查看:128
本文介绍了如何在c#中创建子节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


i希望在c#中为其中一个项目创建子节点,但是我的代码会生成这个

 <   C  >  
< 主题 > Spaceman < / Subject >
< 项目 >
程序员
< > IT < / Child >
< Child > 硬件程序员< / Child >
< / Items >
< 项目 >
Mo
< 儿童 > IT < / Child >
< 儿童 > 硬件程序员< / Child >
< / Items >
< 项目 >
程序员
< > IT < < span class =code-leadattribute> / Child >
< > 硬件程序员< /儿童 >
< / Items >
< / C >



d这是我的代码

 XmlTextWriter writer =  new  XmlTextWriter(  test.xml,Encoding.UTF8); 

writer.WriteStartDocument();

writer.WriteStartElement( C);

writer.WriteStartElement( Subject);
writer.WriteString(txtSubject.Text);
writer.WriteEndElement(); // 主题

< span class =code-keyword> foreach ( string item in listBox1.Items)
{
writer.WriteStartElement( Items);
writer.WriteString(item);
foreach string items in listBox2.Items)
{
writer.WriteStartElement( Child) ;
writer.WriteString(items);
writer.WriteEndElement(); // Child
}
writer.WriteEndElement(); // Items
}
writer.WriteEndElement( ); // C

writer.WriteEndDocument();

writer.Close();



有人可以告诉我的代码在哪里做错了它会让xml像这样

With Respect

解决方案

试试这个:



  foreach  string  item  in  listBox1.Items)
{
writer。 WriteStartElement(item);
// writer.WriteString(item);
foreach string items in listBox2.Items)
{
writer.WriteStartElement( Child);
writer.WriteString(items);
writer.WriteEndElement(); // Child
}
writer.WriteEndElement(); // item
}


Hi i want to make child node for one of these items in c# but my code make this

<C>
<Subject>Spaceman</Subject>
<Items>
Programmer
<Child>IT</Child>
<Child>Hardware Programmer</Child>
</Items>
<Items>
Mo
<Child>IT</Child>
<Child>Hardware Programmer</Child>
</Items>
<Items>
Programmer
<Child>IT</Child>
<Child>Hardware Programmer</Child>
</Items>
</C>


and this is my code

XmlTextWriter writer = new XmlTextWriter("test.xml", Encoding.UTF8);

writer.WriteStartDocument();

writer.WriteStartElement("C");

writer.WriteStartElement("Subject");
writer.WriteString(txtSubject.Text);
writer.WriteEndElement();//Subject

foreach (string item in listBox1.Items)
{
    writer.WriteStartElement("Items");
    writer.WriteString(item);
    foreach (string items in listBox2.Items)
    {
        writer.WriteStartElement("Child");
        writer.WriteString(items);
        writer.WriteEndElement();//Child
    }
    writer.WriteEndElement();//Items
}
writer.WriteEndElement();//C

writer.WriteEndDocument();

writer.Close();


can someone tell where of my code doing wrong to it make xml like this
With Respect

解决方案

Try this:

foreach (string item in listBox1.Items)
{
    writer.WriteStartElement(item );
    //writer.WriteString(item);
    foreach (string items in listBox2.Items)
    {
        writer.WriteStartElement("Child");
        writer.WriteString(items);
        writer.WriteEndElement(); //Child
    }
    writer.WriteEndElement(); //item
}


这篇关于如何在c#中创建子节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆