c# xml 的AppendChild问题

PSSonyXbox 2010-05-17 04:46:19

//代码如下:正常运行,就是添加到xml里后,显示没有 "</PlugInFile>"

try
{

string path = Application.StartupPath + (@"\PlugIn.xml");
XmlDocument doc = new XmlDocument();
doc.Load(path);

XmlNode node = doc.SelectSingleNode("PlugIn/PlugInConfig");
if (node == null)
return;
XmlElement ent = doc.CreateElement("PlugInFile");
ent.SetAttribute("text", 123);
ent.SetAttribute("ImpementInterface", 123);
ent.SetAttribute("ClassName", 123);

// XmlElement notexml = doc.CreateElement("Note");
// notexml.InnerText = this.txtnote.Text;
// node.AppendChild(notexml);
node.AppendChild(ent);
doc.Save(path);
MessageBox.Show("YES");
}
catch (Exception ex)
{ MessageBox.Show(ex.Message); }


xml数据:

<?xml version="1.0" encoding="utf-8"?>
<PlugIn>
<PlugInConfig>
<PlugInFile text="JiangGuoLiang" ImpementInterface="001" ClassName="002" /> //这里没有 </PlugInFile>
<PlugInFile text="123" ImpementInterface="123" ClassName="123" /> //这里没有 </PlugInFile>
<PlugInFile text="456" ImpementInterface="456" ClassName="456" /> //这里没有 </PlugInFile>

</PlugInConfig>
</PlugIn>
...全文
348 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
PSSonyXbox 2010-05-18
  • 打赏
  • 举报
回复


想知道为什么我的没有 结束标记呀?
</PlugInFile>
PSSonyXbox 2010-05-18
  • 打赏
  • 举报
回复

private string path = Application.StartupPath + (@"\PlugIn.xml");
private XmlDocument doc = null;
private void button1_Click(object sender, EventArgs e)
{
try
{
doc = new XmlDocument();
doc.Load(path);
XmlNode node = doc.SelectSingleNode("PlugIn/PlugInConfig");
if (node == null)
return;
XmlElement xmle = doc.CreateElement("PlugInFile");
xmle.SetAttribute("text", "!@#");
xmle.SetAttribute("namespace","345");
node.AppendChild(xmle);
doc.AppendChild(node);
doc.Save(path);
MessageBox.Show("YES");

}
catch (Exception ex)
{ MessageBox.Show(ex.Message); }

}


谁帮我测试一下,看一看和我的一样吗?
谢谢了
PSSonyXbox 2010-05-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lexfu 的回复:]
换成ent.SetAttribute("text", "123");试试呢?
[/Quote]

这个我随便写的
其实代码是一个TextBox输入内容
lexfu 2010-05-18
  • 打赏
  • 举报
回复
换成ent.SetAttribute("text", "123");试试呢?
PSSonyXbox 2010-05-18
  • 打赏
  • 举报
回复
正如楼上两位所写

node.AppendChild(ent);
改成
doc.AppendChild(ent);

报错:
此文档已具有“DocumentElement”节点。
mngzilin 2010-05-17
  • 打赏
  • 举报
回复
两处错误:

1.ent.SetAttribute("text", 123);
====》》》 ent.SetAttribute("text", "123");//加引号

2. //这里没有 </PlugInFile>
====》》》 <!--//这里没有 </PlugInFile>-->
皇城龙三 2010-05-17
  • 打赏
  • 举报
回复
node.AppendChild(ent);
改成
doc.AppendChild(ent);

看看会不会出现</PlugInFile>呢

先排除一下
mohugomohu 2010-05-17
  • 打赏
  • 举报
回复
XmlElement ent = node.CreateElement("PlugInFile");
superming_jann 2010-05-17
  • 打赏
  • 举报
回复
PlugInFile 应该是它下面没有子节点吧
为什么非要<PlugInFile></PlugInFile >这种呢 <PlugInFile/>不是也行么?

还有你的代码有问题
ent.SetAttribute("text", 123);
应该是
ent.SetAttribute("text", "123");吧!
PSSonyXbox 2010-05-17
  • 打赏
  • 举报
回复

110,499

社区成员

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

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

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