我正在尝试在现有属性之后添加属性,但我真的不明白。
XML格式。
<table name="spelers">
<column name="ID">4565</column>
<column name="Voornaam">Ivo</column>
<column name="Achternaam">Dolman</column>
<column name="SchoolID">5811</column>
</table>
我尝试做什么,如果
列名=“Tussenvoegsel”&gt;
不存在是在“Voornaam”之后添加它
<table name="spelers">
<column name="ID">4565</column>
<column name="Voornaam">Ivo</column>
<column name="Tussenvoegsel"></column>
<column name="Achternaam">Dolman</column>
<column name="SchoolID">5811</column>
</table>
我的代码
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Users\-\Desktop\Niuew\spelersOUD.xml");
XmlElement root = doc.CreateElement("Voornaam");
XmlElement id = doc.CreateElement("Tussenvoegsel");
id.SetAttribute("Tussenvoegsel", "");
root.AppendChild(id);
doc.Save(@"C:\Users\-\Desktop\Niuew\output.xml");
非常感谢帮助,我可能会对元素和节点感到困惑,Root ...
答案 0 :(得分:3)
你需要:
struct objectv1 {
matrix<float, 0, 1 > obj_descriptor;
string person_name;
matrix<rgb_pixel> p_obj_chip;
string notes;
};
标识要插入的节点,例如std::vector<objectv1> object_deteails;
所做的那样)SelectSingleNode
- 即id
,根节点像
这样的东西InsertAfter
答案 1 :(得分:1)
如果您想在Voornaam之后添加节点Tussenvoegsel,只有它不存在,您应该这样做:
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Users\-\Desktop\Niuew\spelersOUD.xml");
var table = doc.ChildNodes[0];
var voornaam = (XmlElement)table.SelectSingleNode("*[@name='Voornaam']");
var tussenvoegsel = (XmlElement)table.SelectSingleNode("*[@name='Tussenvoegsel']");
if (tussenvoegsel == null)
{
XmlElement newElement = doc.CreateElement("column");
newElement.SetAttribute("name", "Tussenvoegsel");
table.InsertAfter(newElement, voornaam);
}
doc.Save(@"C:\Users\-\Desktop\Niuew\output.xml");