我有一個問題我想補充子元素在我現有的XML我怎樣才能做到這 請幫我如何在現有的XML添加子元素
1
A
回答
1
我使用LINQ到XML,這似乎更容易對我和那就是我如何做到這一點
首先加載它
/// <summary>
/// loads and returns the XML file with the given name
/// </summary>
/// <param name="modelHesapAdi"> name of the XML file to be returned</param>
/// <returns>returns the xml of given model hesap adı</returns>
public static XElement LoadXMLWithGivenModelHesapAdi(string modelHesapAdi, string xmlDirectory)
{
XElement modelsXmlFile = XElement.Load(xmlDirectory + modelHesapAdi + ".xml");
return modelsXmlFile;
}
在電話另一
上述方法 /// <summary>
/// gets a roommessage nood from CreateRoomMessageXElement
/// and adds it to the related room XML file and saves it
/// </summary>
/// <param name="modelHesapAdi">a string which has the name of the XML file to be changed</param>
/// <param name="incomingMemberHesapAdi">a string to be inserted to the xml file, which has the members name</param>
/// <param name="entranceTime"> a string for time, holds the member's entrance time</param>
public void AddMemberNodeToRoomMembersXMLWithGivenModelHesapAdiAndUyeHesapAdi(string modelHesapAdi,
string incomingMemberHesapAdi,
string entranceTime)
{
XElement modelsXmlFile = BAL.Models.Model.LoadXMLWithGivenModelHesapAdi(modelHesapAdi, xmlDirectory);//loads the xml
XElement roomMember = CreateRoomIncomingMemberXElement(incomingMemberHesapAdi, entranceTime);//creates child element and returns it
modelsXmlFile.Add(roomMember);//adds the child element
modelsXmlFile.Save(xmlDirectory + modelHesapAdi + ".xml");//saves the edited file
}
對於子元素創建
/// <summary>
/// creates and returns roommessage nood
/// </summary>
/// <param name="memberHesapAdi">the sender of the message</param>
/// <param name="message">sent message</param>
/// <param name="timeSent">the time when the message was sent</param>
/// <returns></returns>
private XElement CreateRoomIncomingMemberXElement(string memberHesapAdi, string entranceTime)
{
XElement roomMessage = new XElement("RoomMember",
new XElement("MemberHesapAdi", memberHesapAdi),
new XElement("Time", entranceTime));
return roomMessage;
}
在CreateRoomIncomingMemberXElement
方法中,您將根據您的要求創建您自己的子元素,您將在AddMemberNodeToRoomMembersXMLWithGivenModelHesapAdiAndUyeHesapAdi
中調用它並將其添加到加載的文件中,然後保存它。
1
您可以使用the XDocument class輕鬆地操縱在C#XML:
var doc = XDocument.Parse(yourXmlString); // Or XDocument.Load(pathToFile);
var childElement = new XElement("YourChildElementName", yourChildElementValue);
doc.Add(childElement);
2
簡單:
- 加載XML到內存
- 查找電子xisting要追加
- 創建新元素
- 呼叫類似
XNode.AddAfterSelf
- 保存結果
確切的通話將取決於您所使用的庫節點;我個人建議使用LINQ to XML(如果你使用的是.NET 3.5或更高版本),因爲它比以前的API更容易使用。
相關問題
- 1. 如何在xml子元素部分添加grand子元素C#XML
- 2. 如何將新的XML元素添加到現有的NodeList?
- 3. 如何將屬性添加到Java中的現有XML元素?
- 4. XML添加新元素內現有的XML
- 5. 如何將新的元素添加到現有的節點在XML
- 6. LINQ to XML:如何在for-each循環中添加子元素?
- 7. 如果XML元素不存在,則添加XML元素
- 8. 將XML添加爲子元素的相同元素(獲取HIERARCHY_REQUEST_ERR)
- 9. 將元素添加到現有的XML節點
- 10. 如何移動XML元素並使用XSLT同時添加子元素?
- 11. 使用DSL,如何在添加父元素時按規則添加子元素
- 12. 如何在xml元素中添加冒號? LINQ到XML C#
- 13. 使用XmlSerializer向現有XML文件添加新元素
- 14. 如何加密xml元素?
- 15. 將指令添加到現有元素
- 16. 添加屬性現有元素,LXML
- 17. 添加新元素或更新數組中的現有元素
- 18. 如何將元素添加到現有的xsd:complexType?
- 19. 如何將新的元素添加到現有陣列提起
- 20. 在XML中添加元素。 (XSLT)
- 21. 如何獲得XML的父元素的所有子元素在C#
- 22. 如何在REST中的XML元素中添加屬性
- 23. 如果LI元素是父元素且具有UL(子元素或子菜單),如何添加此跨度
- 24. 如何將元素添加到具有元素的該元素的計數的XML
- 25. 更新現有元素在XML與PHP
- 26. 使用XmlDocument在xml中添加子元素C#
- 27. 對於XML在SQL Server - 添加子元素
- 28. 使用Xquery在現有XML中插入元素作爲子元素
- 29. 如何填充XML中的子元素?
- 30. 如何向現有課程添加新元素?