【发布时间】:2013-10-04 06:36:22
【问题描述】:
我的目标:我想为 987654 的“REGISTRATION_CATALOGNUMBER”解析 XML 文件并将其显示在文本框中。我的 XML 文件如下所示:
<?xml version="1.0"?>
<!-- This file was generated. -->
<ModificationMap>
<replace>
<!-- Asset Type -->
<text symbol="__HIS_NAME__">Example</text>
<text symbol="__HIS_Example1__">My Program</text>
<text symbol="__HIS_Example2__">EG</text>
<text symbol="__HIS_Example3__">XMLPARSING</text>
<text symbol="__HIS_Example4__">Not Applicable</text>
<text symbol="__HIS_ExampleINTERVAL__">300</text>
</replace>
<replace>
<!-- HIS profile -->
<text symbol="__EG_HIS_NAME__">EG_NotConfigured</text>
<text symbol="__EG_HIS_PASSWORD__">password</text>
<text symbol="__EG_HIS_ExampleINTERVAL__">300</text>
<text symbol="__EG_SERIALNUMBER__">666</text>
</replace>
<replace>
<!-- Changed Number and ID -->
<text symbol="__Example_SERIALNUMBER__">123456789</text>
<text symbol="__REGISTRATION_CATALOGNUMBER__">987654</text>
<text symbol="__HER_ExampleINTERVAL__">300</text>
<text symbol="__HER_LEVEL__">WARN</text>
<text symbol="__Example_VERSION__">20</text>
<text symbol="__Example_THIRDPARTYVERSION__">20</text>
<!-- Asset Profile -->
<text symbol="__HIS_MEMBERNAME__">EG_NotConfigured</text>
<text symbol="__HIS_FRIENDLYNAME__">XMLProgram</text>
<text symbol="__HIS_DESCRIPTION__">testprogram</text>
</replace>
<replace>
<!-- Software director -->
<text symbol="__ADMINUSERNAME__">admin</text>
<text symbol="__ADMINPASSWORD__">password</text>
<text symbol="__HIS_PORT__">0000</text>
<text symbol="__HIS_SCHEME__">http</text>
</replace>
<replace>
<!-- Misc settings -->
<text symbol="__LOG_LEVEL__">ERROR</text>
</replace>
</ModificationMap>
我的代码:
public UserControl1()
{
InitializeComponent();
var dict2 = XDocument.Load(@"C:\Users\Smith\Desktop\DEMO.xml")
.Descendants("text")
.ToDictionary(f => f.Attribute("symbol").Value,
f => f.Value);
textBox7.Text = dict2["__REGISTRATION_CATALOGNUMBER__"];
}
我收到一个错误:
ArgumentException 未处理。具有相同密钥的项目已经 已添加。
请问您能帮我解决问题吗?谢谢你的帮助!我是 C# 的新手。 :)
【问题讨论】:
-
你为什么删除了之前的问题,然后又问完全相同的问题?
-
@JonSkeet XML 文件错误。我为此道歉。我尝试使用这个新的 XML 文件。仍然收到相同的错误:ArgumentException 未处理。已添加具有相同密钥的项目。
-
您应该已经编辑了上一个问题并回复了我在该问题中的评论...
-
@JonSkeet 感谢您的建议。我道歉。这不会再发生了。
标签: c# xml visual-studio-2010 xml-parsing argumentexception