簡體   English   中英

如何從XmlSchema.Elements獲取第一項

[英]How to get first item from XmlSchema.Elements

我有XmlSchema對象。 其中具有Elements屬性。 我需要其中的第一個要素 我無法弄清楚如何不寫foreach / break(看起來很愚蠢)。 有沒有好的方法?

編輯:我發現的唯一方法是:getenumerator / movenext / value;

EDIT2:一種方法是將XmlSchema.Elements.Values(ICollection)轉換為與Linq一起使用的有意義的類型。 問題是我找不到那種類型。 GetType給我起的名字是:“ System.Xml.Schema.XmlSchemaObjectTable + ValuesCollection”

我沒有在ObjectExplorer中看到此類型,也無法轉換為它。

如果您有可行的解決方案,請回答,而不是隨便丟掉任何東西。 謝謝。

根據需要使用linq表示元素的名稱或值

例如,

var v = yourObject.Elements.Names.OfType<XmlQualifiedName>().FirstOrDefault();
var w = yourObject.Elements.Values.OfType<XmlSchemaElement>().FirstOrDefault();

===

編輯:添加了OfType <>以獲取ICollection <>而不是ICollection,以便可以使用FirstOrDefault

注意:我在http://msdn.microsoft.com/zh-cn/library/system.xml.schema.xmlschema%28v=vs.110%29.aspx的示例XmlSchema上驗證了此解決方案,如果您的元素名稱為值具有不同的類型,您需要在OfType <>中進行更改

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM