【发布时间】:2014-01-01 09:49:36
【问题描述】:
当我只想要一个特定的属性值时,我的程序当前正在获取所有属性值,具体取决于选中的列表框项。任何帮助将不胜感激,在此先感谢!
XML:
<Products>
<Equity>
<servers>
<serverEQ>server1</serverEQ>
<serverEQ>server2</serverEQ>
<serverEQ>server3</serverEQ>
</servers>
<sitesE>
<sitesEQ sitePathEQ="\Logs\W3SVC1"><nameEQ>SystemAdmin Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC3"><nameEQ>Direct Access Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC4"><nameEQ>Redirect Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC5"><nameEQ>Download Site</nameEQ></sitesEQ>
</sitesE>
</Equity>
.
.
.
</Products>
C#:
myXML.siteName = "sitesEQ";
myXML.sitePath = "sitePathEQ";
.
.
.
private void Submit_btn_Click(object sender, EventArgs e)
{
XmlElement root = MYproducts.DocumentElement;
XmlNodeList sitelist = root.GetElementsByTagName(myXML.siteName);
foreach (object ServerChecked in serverLISTbox.CheckedItems)
{
string MyServerChecked = ServerChecked.ToString();
MessageBox.Show(MyServerChecked);
foreach (object SiteChecked in siteLISTbox.CheckedItems)
{
foreach (XmlNode s in sitelist)
{
myXML.xmlAttributes = s.Attributes[myXML.sitePath].Value;
MessageBox.Show(myXML.xmlAttributes);
}
}
无论我检查了什么,myXML.xmlAttributes 都会显示所有属性。
例如:如果我选中了“重定向站点”,我只想要属性“\Logs\W3SVC4”而不是全部。
【问题讨论】:
-
我发现 RePierre 的解决方案最有帮助。谢谢
-
不错的选择。 :) 和一个很好的问题
标签: c# xml xml-parsing linq-to-xml xml-attribute