2010-05-18 3 views
2

xml (문자열) 내부의 일부 속성을 C#으로 대체하려고합니다.C에서 고급 교체 #

예 XML : I은 X와 Y의 결합 값은 X 속성을 변경하고자 이때

<items> 
    <item x="15" y="25"> 
    <item y="10" x="30"></item> 
    </item> 
    <item x="5" y="60"></item> 
    <item y="100" x="10"></item> 
</items> 

.

결과 XML은 :

<items> 
    <item x="40" y="25"> 
    <item y="10" x="40"></item> 
    </item> 
    <item x="65" y="60"></item> 
    <item y="100" x="110"></item> 
</items> 
+0

"결합 된"을 어떻게 의미합니까? x = "10", y = "12"가 x = "22"또는 x = "1012"가됩니까? –

답변

11

는 정규식이 작업을 수행하지 마십시오. LINQ to XML과 같은 것을 사용하면 정말 쉽습니다.

XDocument doc = XDocument.Load("input.xml"); 
foreach (var item in doc.Descendants("item")) 
{ 
    int x = (int) item.Attribute("x"); 
    int y = (int) item.Attribute("y"); 
    item.SetAttributeValue("x", x + y); 
} 
doc.Save("output.xml"); 
+0

고마워, 잘 했어! – Andreas