2014-03-27 65 views
0

Visual Studio 2008.我正在使用System.Xml.Linq。XComment在結束標記之前添加

我在寫一個XDocument XML文件,我想在XML元素之前或之後添加註釋行。

由於某種原因,XML序列化程序將註釋插入XML元素的中間。

// Create an XComment 
// 
string roleComment = string.Format("{0} Role ID={1}", myRole.roleType, myRole.roleId); 
XComment xRoleComment = new XComment(roleComment); 

// Create an XElement 
// 
XElement xRoleId = new XElement("Role_id", myRole.GUID); 

// Add the XComment to the XElement 
xRoleId.Add(xRoleComment); 

我的輸出最終意外地結束標記之前的評論:

<Role_id>2510<!--ROLE_TYPE_MASTER Role ID=130--></Role_id> 

如何添加註釋,以便它結束元素標記之外?之前或之後是好的。

回答

1

您可以在註釋節點添加到Role_id element.First的獲取父然後添加XComment。或者創建Role_id父元素:

XElement parent = new XElement("parent", 
      new XElement("Role_id", myRole.GUID), 
      new XComment(roleComment)); 

或者使用XElement.AddAfterSelf方法:

xRoleId.AddAfterSelf(xRoleComment); 
+0

添加到父母,謝謝。儘管如此,我還是覺得奇怪的是評論最終在標籤內部結束了。 –

+0

@JohnJesus因爲你直接將它添加到元素中。這就是'Add'方法的作用。:) –

+0

啊對了。是的,如果我添加了一個子元素,它也會在標籤之間。得到它了。 –

相關問題