这是我的XML:
<location>
<hotspot name="name1" X="444" Y="518" />
<hotspot name="name2" X="542" Y="452" />
<hotspot name="name3" X="356" Y="15" />
</location>
我想做的是:
<location>
<hotspot name="name1" X="444" Y="518">
<text>
This is the text I want to add in
</text>
</hotspot>
<hotspot name="name2" X="542" Y="452" />
<hotspot name="name3" X="356" Y="15" />
</location>
我无法添加文本,新节点也没问题。
答案 0 :(得分:3)
由于您使用XmlNode
标记了问题,我假设您正在使用XmlDocument
中的System.Xml
类型(而不是更现代的Linq到XML类型{{1} }})。
要添加带有正文文本的新节点,您可以创建一个新元素(带有所需名称),然后设置其XDocument
value属性以指定节点中的文本:
InnerText
您也可以通过在调用// Load XML document and find the parent node
let doc = XmlDocument()
doc.LoadXml("... your xml goes here ...")
let parent = doc.SelectSingleNode("/location/hotspot[@name='name1']")
// Create a new element and set its inner text
let newNode = doc.CreateElement("text")
newNode.InnerText <- "foo"
parent.AppendChild(newNode)
时指定属性来编写相同的内容:
CreateElement