ASP.NET C# XML 노드추가하기 / XML CDATA 추가하는 방법
XML을 사용하다보면 하나하나 엘리멘트 생성하여 추가하다보면 소스가 길어지기 마련이다.
다양한 방식으로 활용가능하기때문에, 아래와 같이 사용해보았다.
1. 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 | XmlDocument xmlDoc = new XmlDocument(); xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes")); xmlDoc = addNode(xmlDoc, "", "LIST", "" ,"NEW"); xmlDoc = addNode(xmlDoc, "LIST", "WRITER", "당꿈응", "NEW"); for (int i = 0; i < 10; i++) { XmlElement sList= xmlDoc.CreateElement("SUB_LIST"); sList= addElement(xmlDoc, sList, "TITLE", "TITLE_" + i + "", "ELEMENT"); sList= addElement(xmlDoc, sList, "CONTENT", "CONTENT_" + i , "CDATA"); xmlDoc.DocumentElement.AppendChild(sList); } | cs |
2. 엘리멘트 추가
-> XmlElement 를 전달받아서 자식 엘리먼트를 추가해서 리턴
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | private XmlElement addElement(XmlDocument xmlDoc, XmlElement reElement, string NodeName, string NodeText, string type) { XmlElement Eadd = xmlDoc.CreateElement(NodeName); if (type == "ELEMENT") { if (NodeText != "") { XmlText TextStr = xmlDoc.CreateTextNode(NodeText); Eadd.AppendChild(TextStr); } } else if (type == "CDATA") { if (NodeText != "") { XmlCDataSection TextStr = xmlDoc.CreateCDataSection(NodeText); Eadd.AppendChild(TextStr); } } reElement.AppendChild(Eadd); return reElement; } | cs |
3. 노드추가
->XmlDocument를 전달받아 자식노드를 추가한 후 리턴
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public XmlDocument addNode(XmlDocument xmlDoc, string targetNode , string cNodeName, string cNodeText , string cNodeType) { XmlNode targetObj; //자식을 추가할 상위노드 선언 XmlElement childNode = xmlDoc.CreateElement(cNodeName); //자식 노드 생성 childNode.InnerText = cNodeText; //자식노드 내용 넣기 if (targetNode != "") { targetObj = xmlDoc.SelectSingleNode(targetNode); //상위노드 선택 targetObj.AppendChild(childNode); //노드 추가 if (cNodeType == "NEW") { xmlDoc.AppendChild(targetObj); //추가할 노드 } } else { xmlDoc.AppendChild(childNode); } return xmlDoc; } | cs |
CreateElement / CreateCDataSection / CreateXmlDeclaration /AppendChild
공감과 댓글은 작성자에게 큰 힘이 됩니다. ^^
'웹프로그래밍 > ASP.NET' 카테고리의 다른 글
[ ASP.NET ] XML 출력 / XML 형태로 출력하는 방법 / XML생성 / ASP.NET XML (0) | 2016.02.23 |
---|---|
[ ASP.NET ] C# 숫자인지 확인 / 스트링 숫자체크 / 문자열 숫자확인 (0) | 2016.02.22 |
[ ASP.NET ] Regex 간단 활용 / 특정문자제거 (0) | 2016.01.18 |
[ ASP.NET ] 파일 유무 체크 (0) | 2016.01.18 |
[ ASP.NET ] 날짜 / 날짜 관련 함수 사용 / yyyyMMdd / 오늘 날짜 (0) | 2016.01.15 |