2015-10-27 3 views
1

Я имею XML, как показано ниже, показывая RoadPart и транспортных средств элементов:Заменить элементы в XML

<RoadPart> 
    <Vehicles> 
     <ConfigurationSummaryListPosition> 
      <ConfigurationSummary>Test name</ConfigurationSummary> 
     </ConfigurationSummaryListPosition> 
    </Vehicles> 
    <Vehicles> 
     <ConfigurationSummaryListPosition> 
      <ConfigurationSummary>Test name</ConfigurationSummary> 
     </ConfigurationSummaryListPosition> 
    </Vehicles> 
    <Vehicles> 
     <ConfigurationSummaryListPosition> 
      <ConfigurationSummary>Test name</ConfigurationSummary> 
     </ConfigurationSummaryListPosition> 
    </Vehicles> 
</RoadPart> 

У меня есть переменная

var test = @"<DataType> 
       <ConfigurationSummaryListPositionType> 
        <ConfigurationSummaryType> name </ConfigurationSummaryType> 
       </ConfigurationSummaryListPositionType> 
      </DataType> 
      <DataType> 
       <ConfigurationSummaryListPositionType> 
        <ConfigurationSummaryType> Test</ConfigurationSummaryType> 
       </ConfigurationSummaryListPositionType> 
      </DataType>"; 

Хотите заменить элементы транспортного средства с регулируемым выходом должно быть следующим:

<RoadPart> 
    <DataType> 
     <ConfigurationSummaryListPositionType> 
      <ConfigurationSummaryType> name </ConfigurationSummaryType> 
     </ConfigurationSummaryListPositionType> 
    </DataType> 
    <DataType> 
     <ConfigurationSummaryListPositionType> 
      <ConfigurationSummaryType> Test</ConfigurationSummaryType> 
     </ConfigurationSummaryListPositionType> 
    </DataType> 
</RoadPart> 

Помощь меня на этом

+1

„+ вар +“»', вероятно, не ответ, который вы ищете. Как связаны элементы «Транспортные средства» и «DataType»? Или вы должны удалить все «Транспортные средства» и добавить все элементы «DataType»? –

+0

Да, я хочу удалить все транспортные средства и добавить переменную. помогите мне на этом –

+0

Нам нужно уточнение. Является ли значение «Test name» релевантным каким-либо образом, является важным значением тегов ... –

ответ

0

Почему вы не читаете xml с linq, повторите через каждый узел и измените значение этого узла.

var nodes = (from node in document.Descendant("RoadPart") select node); 

где документ загруженного файла XML

var document = XDocument.Load("your xml file path"); 

затем eiterate узел Еогеасп в документе как этот

foreach (var node in nodes) 
{ 
    // do something 
} 
0

Это вернет результат, как System.Xml.Linq.XElement:

test = string.Concat("<root>", test, "</root>"); // set dummy root 
XDocument xdoc = XDocument.Parse(test); 

XElement replaced = new XElement("RoadPart", xdoc.Descendants("DataType").Select(e => e)); 

Если вы хотите сохранить результат в виде файла,

using (FileStream fs = new FileStream("{filePath}", FileMode.Create)) 
{ 
    replaced.Save(fs); 
    fs.Close(); 
} 
Смежные вопросы