我正在使用 XmlWriter 在 C# 中编写一个 XML 文件。我能够使用WriteStartElement()
方法编写元素,并且可以使用方法向该元素添加属性WriteAttributeString()
。但是,如果我想使用点符号添加属性,那么该怎么做呢?
<Element Attribute1="Value">
<Element.Attribute2> //How can i add attribute in this Notation.
//Add Value of Attribute2
</Element.Attribute2>
</Element>
我知道我可以打电话WriteStartElement("Element.Attribute")
,但我正在寻找一种更清洁的方法。有没有其他方法可以做到这一点?
编辑1:
我有一个分层的对象(比如 obj)(以树的形式),这棵树的每个节点都有一些可以进一步包含节点的属性。我将这个对象保存在 Xml 中。为此,我正在使用 XmlWriter。在运行时,我遍历 obj 并使用 GetType().Name 读取节点的类型并将其传递给写入 XmlNode 并使用GetType().GetProperties()
我获取该节点的所有属性,然后我使用 foreach 一个一个地遍历 PropertyInfo 数组并将 PropertyInfo 的名称写为属性,但如果我有一个分配了节点的属性,我需要为此编写上面的点表示法。我正在寻找一种方法,我将只传递我的 PropertyInfo 和对象,它会以所需的格式为我编写。
谢谢你的帮助!
编辑2:
对于一个特定的节点,我有像高度和宽度这样的属性,比如作为集合的子节点,它隐式地驻留在 Xml 的层次结构中,像资源一样,它也将具有一些属性,每个属性都将由父节点下的节点表示。但是虽然保存会这样写:
<Parent.Resources>
<Resource1 ...../>
<Resource2 ...../>
</Parent.Resources>
感谢帮助!