2011-07-05 23 views
0

まず、私はXMLC#を初めて使用しています。 xmlノードの値を見つけて置き換えるためのいくつかのポインタが必要です。xmlノードの値を見つけて置き換えるにはどうすればよいですか?

入力パラメータのセットを持つXMLファイルがあります。ファイル内で特定の入力パラメータ(<parameter id="PRP_AsOfDate">)を見つけて、関連する値()を更新する必要があります。

これは毎日行う必要があるため、<UCDateEndGetString>をタグに置き換えて置き換える必要があります。

次のコードを試しましたが、不正な文字エラーが発生しました。

誰でも助けてください。

public string TestRequestDef() 
    { 
     string reqtype = "Position"; 
     GetRequestDef getxml = new GetRequestDef(); 
     string xmlcall = getxml.GetXMLRequest(reqtype); 

     XmlDocument doc = new XmlDocument(); 
     doc.Load(xmlcall); 

     string newValue = "XXXX"; 
     XmlNode paraNode = doc.SelectSingleNode("parameters/parameter/UCValue/UCPitDateGetString"); 
     paraNode.Attributes[0].Value = newValue; 
     doc.Save(xmlcall); 

     return xmlcall; 

私は.Net 4.0C#を使用しています。ここで

は私のxmlファイルの一部です:

<parameters> 
     <parameter id="PRP_AsOfDate"> 
      <deoId/> 
      <groupBy>false</groupBy> 
      <dateControlVisible>true</dateControlVisible> 
      <pitControlVisible>true</pitControlVisible> 
      <excludeFromOutput>false</excludeFromOutput> 
      <multiCurrencyRequired>false</multiCurrencyRequired> 
      <label>As Of Date</label> 
      <style type="Date"> 
       <maxSelect>0</maxSelect> 
       <minSelect>0</minSelect> 
       <level/> 
       <content/> 
       <fieldTypes/> 
       <dataObjectType>Date</dataObjectType> 
       <filter/> 
       <value/> 
       <formatString/> 
      </style> 
      <formatString/> 
      <validations/> 
      <UCValue> 
       <UCComposites/> 
       <UCIdGetString/> 
       <UCNameGetString/> 
       <UCDateDays>0</UCDateDays> 
        <UCDateStartGetString>01/01/1900</UCDateStartGetString> 
       <UCDateEndGetString>27/06/2011</UCDateEndGetString> 
       <UCPitDateGetString>26/06/2011 00:00:00</UCPitDateGetString> 
       <UCPitDatePreviousGetString>26/06/2011 00:00:00</UCPitDatePreviousGetString> 
       <UCPitChecked>True</UCPitChecked> 
       <UCDateOptionGetString>SPECIFIC</UCDateOptionGetString> 
       <UCDefaultValueGetString>True|SPECIFIC|27/06/2011|</UCDefaultValueGetString> 
       <UCValueGetString>True|SPECIFIC|27/06/2011|</UCValueGetString> 
      </UCValue> 
     </parameter> 

答えて

2

私はこの記事に速い読み取りを与えるだろう。その非常に簡単に従うと私はそれがあなたが達成しようとしているものを正確にカバーすると信じています。

http://www.codeproject.com/KB/cpp/myXPath.aspx

+0

私が探していたことはありがたいです。あなたの助けに感謝。 – bombus1700

関連する問題