У меня есть требование, где есть большой XML-документ.Я должен выбрать много узлов, использующих XPath из документа, основываясь на некоторых условиях.Затем после того, как я выбрал XmlNodes, мне нужно добавить новые свойства в выбранные узлы и вставить его во многие места в XmlDocument.
Я обнаружил, что когда я изменяю выбранный XmlNode, фактический XmlDocument такжемодифицирована. Поэтому я подумал об использовании метода xmlNode.Clone () во всем списке выбранных XmlNodes . Но это действительно очень, очень медленно .Я имею в виду, есть ли лучший способ сделать это?Или клон действительно очень медленный ??
Кстати, я использую XmlDocument для загрузки документа Xml.
Редактирует ЗДЕСЬ :::
Я добавляю больше деталей к своему вопросу.Я использую язык C # и .net 3.5 в качестве платформы.
Я связал этот Xml с сеткой данных и позволил пользователю изменять сетку данных.Исходя из некоторых условий, когда пользователь изменяет ячейку в сетке данных, мне нужно выбрать некоторые узлы в Xml, а затем создать новые узлы и добавить их в XmlDocument, который находится в памяти.Поэтому после выбора объектов я использовал clone (), что очень медленно для меня !!
Больше правок ЗДЕСЬ ::
Исходный XML выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<grids>
<row>
<value actualvalue="test1" id="0001" valuetype="Constant"/> // i want to make copy of this node whose id = 0001 and make some changes to it
<value actualvalue="test2" id="0002" valuetype="String"/>
</row>
</grids>
Затем я хочу изменить узел, и преобразованный XML должен выглядеть следующим образом: Новый узел был добавлен и идентификаторы были переупорядочены.
<?xml version="1.0" encoding="UTF-8"?>
<grids>
<row>
<value actualvalue="test1" id="0001" valuetype="newConstant"/>
<value actualvalue="test1" id="0002" valuetype="Constant"/>
<value actualvalue="test2" id="0003" valuetype="String"/>
</row>
</grids>
Надеюсь, мои данныедостаточно !!