2011-08-04 5 views
1

XDocument을 사용하면 어떻게 다음 코드를 다시 작성할 수 있습니까? 이 코드는 요소 값을 strValues으로 바꿉니다. 요소는 strKeysstrXPath = "/root/node/subnode[param1='value1' and param2='value2']"으로 지정됩니다.XmlDocument 대신 XDocument로 요소 바꾸기

public static void ReplaceXmlElement(string strXPath, string[] strKeys, string[] strValues) 
    { 
     XmlDocument xDoc = new XmlDocument(); 
     xDoc.Load(xmlFile.xml); 
     XmlNode xNode = xDoc.SelectSingleNode(strXPath); 
     int intTemp = 0; 
     foreach (XmlNode node in xNode) 
     { 
      node.Name.ToString(); 
      if (node.Name == strKeys[intTemp]) 
      { 
       node.InnerXml = strValues[intTemp]; 
       intTemp++; 
      } 
     } 
     xDoc.Save(xmlFile.xml); 
    } 

답변

0

http://msdn.microsoft.com/en-us/library/bb156083.aspx

XElement root = new XElement("Root", 
new XElement("Child1", 1), 
new XElement("Child2", 2), 
new XElement("Child3", 3), 
new XElement("Child4", 4), 
new XElement("Child5", 5), 
new XElement("Child6", 6) 
); 

XElement el = root.XPathSelectElement("./Child4");