수정하고 싶은 XSD에 노드가 있습니다. 나는이 노드에서 "이름"값을 변경하려면 :XSD를 변경하기 위해 Linq를 XML에 사용할 수 있습니까?
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
을하지만 나는이 코드를 통해 해당 노드를 찾을 때, 내가 무엇을하려고에 따라, 어떤 노드 나 오류 중 하나를 얻을 . 그것은 오픈 소스이고 그 (직장에서) 빨간 테이프의 모든 종류를 의미합니다 것 같습니다 이후
xsdDoc.Descendants("element").Where(x => x.Attribute("name").Value == "NewDataSet").Single().SetAttributeValue("name", "newValue");
Linq에 XSD하려면이 옵션을 선택하지 않습니다.
이것이 가능합니까 아니면 운이 좋지 않습니까?
관련 (하지만 동일) : Linq to XML - update/alter the nodes of an XML Document
을 "에 http : //www.w3를 .org/2001/XMLSchemaelement "? 그건 옳은 것처럼 보이지 않지만 어디로 가는지 볼 수 있습니다 ... – jcollum
아, 이렇게 : XNamespace xn = "http://www.w3.org/2001/XMLSchema"; IEnumerable elems = xsdDoc.Descendants (xn + "element") 여기서 ( x => x.Attribute ("name"). 값 == "NewDataSet"); –
jcollum
이 전체 XDocument/X * 네임 스페이스는 조금 이상합니다. – jcollum