2010-02-14 5 views
1

일부 기존 코드를 수정 중이므로 C#으로 XML을 구문 분석/작성해야합니다. 중첩 된 요소의 값을 설정하려고하지만 어떤 기쁨도 얻지 못하고 있습니다. 그것은 아주 간단해야하지만 내가 뭘 잘못하고 있는지 모르겠습니다.XElement를 사용하여 C#에서 XML 중첩 노드 설정

XElement companyEle = doc.Root.Element(myNameSpace + "company"); 
    companyEle.Value = value; 

그러나이 어떻게 제품 사람의 ID와 이름을 추가 할 수 있습니다

<my:productReport> 
    <my:productId>1</my:productId> 
    <my:company>MyCompany</my:company> 
    <my:productPerson> 
     <my:productPersonId xsi:nil="true"></my:productPersonId> 
     <my:productPersonName></my:productPersonName> 
    </my:productedBy> 
</my:productReport> 

내가 회사에게 아무 문제를 설정할 수 있습니다 : 여기

는 XML 템플릿입니까? 추가 할 personID/personName 요소가 두 개 이상있을 수 있습니다.

+0

C#에는 XML 클래스가 없습니다. –

답변

2

이 같은 것을 찾고 계십니까? 당신이 설정하고 추가 할 필요가 언급, 미안 내가 오해한다면. 또한 알려주지 않은 경우 제공 한 템플릿에 productPerson에 대한 잘못된 닫기 태그가 있습니다.

//Get collection of productPerson elements 
IEnumerable<XElement> prodPersons = productReport.Elements("productPerson"); 
foreach(XElement pp in prodPersons) 
{ 
    //Set values 
    pp.Element("productPersonId").Value = "1"; 
    pp.Element("productPersonName").Value = "xxx"; 
} 

//Add a productPerson element 
XElement prodPersonEle = 
    new XElement("productPerson", 
      new XElement("productPersonId","3"), 
      new XElement("productPersonName", "Somename") 
    ); 


//Add prodPersonEle to whatever parent it belongs.