xml의 serialize 된 객체가 있고 xsi : noNamespaceSchemaLocation을 루트 요소에 추가하고 xmlwriter를 사용하고 싶습니다.xmlwirter를 사용하여 xml의 루트 요소에 noNamespaceSchemaLocation을 추가하는 방법
내 XML을 아래 예제와 같이하고 싶습니다. 는 fileWriter 객체를 작성 후 최종 XML의 다른 루트 요소를 만들 수 있기 때문에
<?xml version="1.0" encoding="utf-8"?>
<root xsi:noNamespaceSchemaLocation="abc.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<child>false</child>
</root>
WriteStartElement 나를 위해 작동하지 않습니다.
fileWriter.WriteStartElement ("root");
fileWriter.WriteAttributeString ("xsi", "noNamespaceSchemaLocation", null, "abc.xsd");
는 내 XSD 대해 생성 xsd.exe 부분 클래스 확장 내 클래스에서 하나 명 이상의 멤버를 추가 지금
[XmlAttribute(AttributeName="noNamespaceSchemaLocation",Namespace="http://www.w3.org/2001/XMLSchema-instance")]
public string noNamespaceSchemaLocation = "abc.xsd";
출력 불렀어
<?xml version="1.0" encoding="utf-8"?>
<root p1:noNamespaceSchemaLocation="abc.xsd" xmlns:p1="http://www.w3.org/2001/XMLSchema-instance">
<child>false</child>
</root>
p1 대신 xsi를 사용하고 싶습니다. XmlAttribute의 유효하지 않은 속성 때문일 수 있지만 무엇을 알아 내지 못했습니다.
xml serialization을 사용하려는 XMLDocuments로 작업하는 것은 옵션이 아닙니다.
도움이 될 것입니다.