在Xml-反序列化中获取节点的所有子元素的名称
Get names of all child-elements of a node in Xml-Deserialization
我得到以下 XML-结构:
<Root>
<Element Attribute="attibute">
<ElementINeedNameOf />
<AnotherElementINeedNameOf />
</Element>
</Root>
我正在尝试读取 element
的子元素的名称?
因此我正在使用 System.Xml.Serialization
来读取另一个 elements/attributes 但我无法读取它的子元素的名称。
谢谢。
通过XmlAnyElement
选择父元素是可能的。
以下代码显示了示例解决方案:
[XmlAnyElement("Element")]
public XmlElement Elements{ get; set; }
[XmlIgnore]
public List<string> ElementNames
{
get
{
var elementNames = new List<string>();
if (Elements != null && Elements.HasChildNodes)
{
elementNames.AddRange(from XmlNode elementsChildNode in Elements .ChildNodes select elementsChildNode.Name);
return elementNames ;
}
else
{
//return empty List
return tagNames;
}
}
}
我得到以下 XML-结构:
<Root>
<Element Attribute="attibute">
<ElementINeedNameOf />
<AnotherElementINeedNameOf />
</Element>
</Root>
我正在尝试读取 element
的子元素的名称?
因此我正在使用 System.Xml.Serialization
来读取另一个 elements/attributes 但我无法读取它的子元素的名称。
谢谢。
通过XmlAnyElement
选择父元素是可能的。
以下代码显示了示例解决方案:
[XmlAnyElement("Element")]
public XmlElement Elements{ get; set; }
[XmlIgnore]
public List<string> ElementNames
{
get
{
var elementNames = new List<string>();
if (Elements != null && Elements.HasChildNodes)
{
elementNames.AddRange(from XmlNode elementsChildNode in Elements .ChildNodes select elementsChildNode.Name);
return elementNames ;
}
else
{
//return empty List
return tagNames;
}
}
}