您当前的位置: 首页 > 

野奔在山外的猫

暂无认证

  • 4浏览

    0关注

    85博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【解决】InvalidOperationException: This document already has a ‘DocumentElement‘ node

野奔在山外的猫 发布时间:2021-04-11 10:31:22 ,浏览量:4

游戏引擎:Unity 版本:2019.4.6f1 【2017版本以上均可】 编译平台:Visual Studio 2019  

问题截图

问题描述图

问题描述

  翻译:无效的异常操作:该文档已具有“ DocumentElement”节点

解决方案 方案1 1.0 检查XML格式是否正确

  XML类似于HTML,有着以下严格的包含关系。切勿出现越级包含的关系。

声明关系对象XmlDocument包含编码头部声明、根节点XmlElement(节点元素)包含各级节点及内容

1.1 相关案例详解

  如下图示例为一个简略不完整的基本框架内容。

//需求XMLDoc
XmlDocument xmlDoc = new XmlDocument();
        
//编码头部声明
XmlDeclaration header = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "");
xmlDoc.AppendChild(header);
        
//根节点
XmlElement root = xmlDoc.CreateElement("root_CharacterTemplateData");
xmlDoc.AppendChild(root);

//一级节点  Id Name                                               ------------以下两行为问题行
XmlElement child = xmlDoc.CreateElement("CharaterTemplateData");
xmlDoc.AppendChild(child);

child.SetAttribute("id", "1000");
child.SetAttribute("name", "法师");

  其中,我们在一级节点处xmlDoc.AppendChild(child);添加节点元素,添加方式向xmlDoc添加,违背了格式的严格要求。正确的添加方式为root.AppendChild(child),即向一级节点的上一级root(根节点)。

ps:这里的root仅仅是命名关系,可以更改为其他命名,但XML格式严格遵循上表。

关注
打赏
1659777066
查看更多评论
立即登录/注册

微信扫码登录

0.0355s