2013-03-03 3 views
1

안녕하세요이는 내가 "AccumulatorFactor"동일한 요소 "가격"에XML 요소 자동차 값 변경

예 요소의 값을 변경해야 할 큰 파일 : 가격 요소 있도록 노드 Prepaid2Prepaid에 60 "AccumulatorFactor"도해야 (60)

<NodeCopy><Node>SC14 
    <Condition>ServiceClass 
     <Comment>SC 14 with access fees of 12500 for 30 days</Comment> 
     <Values>14</Values> 
    </Condition> 
    <Node>Community CUG 
     <Node>Prepaid2Prepaid 
      <Condition>BooleanOperator 
       <Operation>AND</Operation> 
       <Condition>NumberList 
        <Type>0</Type> 
        <Number>75</Number> 
       </Condition> 
       <Condition>CommunityId 
        <Value>1-999</Value> 
       </Condition> 
      </Condition> 
      <Tariff>Rate 
       <UnitType>Time</UnitType> 
       <Price>60.0 
        <Factor>60</Factor> 
</Price> 
       <Interval>1 
        <Factor>1</Factor> 
</Interval> 
       <UpdateType>Active</UpdateType> 
       <AccumulatorFactor>0.0</AccumulatorFactor> 
      </Tariff> 
     </Node> 
    </Node> 
    <Node>A2A 
     <Condition>NumberList 
      <Type>0</Type> 
      <Number>75</Number> 
     </Condition> 
     <Node>Price 
      <Tariff>Rate 
       <UnitType>Time</UnitType> 
       <Price>163.2 
        <Factor>60</Factor> 
</Price> 
       <Interval>1 
        <Factor>1</Factor> 
</Interval> 
       <UpdateType>Active</UpdateType> 
       <AccumulatorFactor>0.0</AccumulatorFactor> 
      </Tariff> 
     </Node> 
    </Node> 
    <Node>All Operators 
     <Condition>NumberList 
      <Type>0</Type> 
      <Number>77,78 
70 
76 
2911,1108,1177 
79 
71 
3,4,2 
121,185,200,91,888,971,2070,890,913,189 
555,809</Number> 
     </Condition> 
     <Node>Price 
      <Tariff>Rate 
       <UnitType>Time</UnitType> 
       <Price>178.8 
        <Factor>60</Factor> 
</Price> 
       <Interval>1 
        <Factor>1</Factor> 
</Interval> 
       <UpdateType>Active</UpdateType> 
       <AccumulatorFactor>0.0</AccumulatorFactor> 
      </Tariff> 
     </Node> 
    </Node> 
</Node> 
</NodeCopy> 
+0

무엇을 시도 했습니까? Java에서이 작업을 수행하고 있습니까? XSLT1? XSLT2? 다른 언어? –

+0

'Prepaid2Prepaid' 노드와 일치하는 요소는 구조적으로 어떻게 관련되어 있습니까? 예제와 같이 항상 또는 서로 다른 위치에있을 수 있으며 어느 것이 일치하는지 어떻게 알 수 있습니까? 우리가 여기서 도울 수 있기 전에 많은 질문이 있습니다. –

+0

관세가 가격과 accumulatorfactor을 가지고 있습니다. xml에서 accumulatorfactor의 valur를 변경하고 요소 가격과 같아야합니다. – user2128453

답변

0
public void OverWriteXMLElement() 
    { 
     string AppFileurl = System.Web.HttpContext.Current.Server.MapPath(@"~/Config/GlobalConfig.aspx.cs.xml"); 
     XmlDocument xDoc = new XmlDocument(); 
     xDoc.Load(AppFileurl); 

     string UserFileurl = System.Web.HttpContext.Current.Server.MapPath(@"~/Config/UserManagement.aspx.cs.xml"); 
     XmlDocument UserDoc = new XmlDocument(); 
     UserDoc.Load(UserFileurl); 


     XmlNodeList aNodes = xDoc.SelectNodes("/Application/PageSetting/Pagination"); 
     XmlNodeList UNodes = UserDoc.SelectNodes("/UserManagement/PageSetting/Pagination"); 

     foreach (XmlNode unode in UNodes)   
     { 
      XmlNode child1 = unode.SelectSingleNode("PageSize"); 

      if (child1.InnerText == "" || child1.InnerText == null) 
      { 
       foreach (XmlNode node in aNodes) 
       { 
        child1.InnerText = node.SelectSingleNode("PageSize").InnerText; 
        UserDoc.Save(UserFileurl); 
       } 
      } 
     } 

당신은 다른 XML 파일의 도움으로 하나 개의 XML 파일의 XML 요소를 변경할 수 있습니다합니다.