Microsoft MVP성태의 닷넷 이야기
XML 접두어 포함한 XmlElement 작성법? [링크 복사], [링크+제목 복사],
조회: 15730
글쓴 사람
김현기 (hkim at ecis.co.kr)
홈페이지
첨부 파일
 

DOM 방식으로 xml 문서를 작성중 궁금한점이 생겨서 질문드립니다.

코드를 보시면

XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(sTmpXML);

XmlElement xlStartDateTime = xDoc.CreateElement("rsm:StartDateTime");
xlStartDateTime.InnerText = "2005-06-16T11:00:00.0Z";
xDoc.DocumentElement.AppendChild(xlStartDateTime);

위와 같이 코딩을 하게되면 아래와 같이 문서가 작성되어지더군요.

==============================================
....
....
<StartDateTime>
    2005-06-16T11:00:00.0Z
</StartDateTime>
==============================================

요 위의 결과를
==============================================
<rsm:StartDateTime>
    2005-06-16T11:00:00.0Z
</rsm:StartDateTime>
==============================================

위 처럼 보이게 하려고 XmlDocument.CreateElement() 메서드를 다양하게 사용해봤으나
다 실패했습니다.

답변좀 부탁드리겠습니다~








[최초 등록일: ]
[최종 수정일: 1/24/2008]


비밀번호

댓글 작성자
 



2008-01-28 02시59분
일단, rsm prefix를 가지려면 명시적으로 네임스페이스를 지정해야 합니다.
출력된 문서 유형과 같은 XML 은 적법하지 않은 문서이죠.
따라서, 출력해 주려면 다음과 같은 식으로 해줘야 합니다.

<rsm:StartDateTime xmlns:rsm="http://....">
2005-06-16T11:00:00.0Z
</rsm:StartDateTime>

CreateElement 의 override 목록에서, 네임스페이스를 명시적으로 지원하는 메서드를 이용하시면 됩니다.
kevin25

NoWriterDateCnt.TitleFile(s)