我試圖通過兩個XElement
集合遍歷這樣我就可以對它們進行比較,但我得到的錯誤:無法從樹型視圖轉換爲的XElement
System.InvalidCastException:「無法強制轉換的對象鍵入 'System.Windows.Controls.TreeViewItem'鍵入 'System.Xml.Linq.XElement'。'
我的代碼是:
private void CompareTrees(ItemCollection xml,ItemCollection xsd)
{
bool isMatch = false;
string header = string.Empty;
foreach (XElement xexsd in xsd)
{
foreach (XElement xexml in xml)
{
if (xexsd.Name.LocalName + " - " + xexsd.Value == xexml.Name.LocalName + " - " + xexsd.Value)
{
CompareTrees(xml, xsd);
isMatch = true;
break;
}
}
if (isMatch == true)
{
continue;
}
else
{
var item = new ListBoxItem();
lbItems.Items.Add(item);
}
}
}
你2個foreach循環把一個斷點,你會看到,在任一XSD或XML(或兩者)的集合是System.Windows.Controls.TreeViewItem的實際集合。因此,您不能將它們轉換爲System.Xml.Linq.XElement,因爲前者不會從後者繼承。 –
謝謝,但我得到的內容不是TreeViewItem庫的一部分 – batbaqna
你在這裏沒有問任何問題。 –