xml 을 json 으로 변환하거나 json을 xml 변환해서 봐야 할때가 있다.
그럴때 사용하면 좋은 웹.....
www.utilities-online.info/xmltojson/#.WnK2fkxuIpg
참고해서 사용하면 좋을듯....
오늘도 화이팅!!!
xml 을 json 으로 변환하거나 json을 xml 변환해서 봐야 할때가 있다.
그럴때 사용하면 좋은 웹.....
www.utilities-online.info/xmltojson/#.WnK2fkxuIpg
참고해서 사용하면 좋을듯....
오늘도 화이팅!!!
아~ 오늘은 xml 때문에 문제가 생겼다..ㅠㅠ
FTP로 xml파일을 받아서 정보를 읽어서 무언가 해야하는데 어랏!!! 정보는 제대로 인것같은데...
오류가 나고 Windows service 를 멈추게 만들었다... 젠장 뭐냐...
데이터를 확인하던 도중..ㅠㅠ &&&&&&&&&&& 이게 문제였다..ㅠㅠ
XML을 읽은 도중....뻑!! 뻑!!!
해결방법은 특수문자 처리~
& 를 & 로 수정
저것 말고도 다른것들도....
<, >, &는 XML tag 표시와 entity를 표시하는 XML 예약문자로, XML 문서에 그대로 사용할 수 없다.
< (less-than sign) <
> (greater-than sign) >
& (ampersand) &
참고 : http://www.kamje.or.kr/special.html
까먹지 말고 알아두자!! 오늘도 화이팅!!!
DECLARE @myDoc xml SET @myDoc = '<Root> <Location LocationID="10" LaborHours="1.1" MachineHours=".2" >Manufacturing steps are described here. <step>Manufacturing step 1 at this work center</step> <step>Manufacturing step 2 at this work center</step> </Location> </Root>' SELECT @myDoc -- update text in the first manufacturing step SET @myDoc.modify(' replace value of (/Root/Location/step[1]/text())[1] with "new text describing the manu step" ') SELECT @myDoc -- update attribute value SET @myDoc.modify(' replace value of (/Root/Location/@LaborHours)[1] with "100.0" ') SELECT @myDoc
결과를 보면 이렇게 변경...파란 부분은
/Root/Location/step 에 첫번째 node 값을 변경
<Root>
<Location LocationID="10" LaborHours="1.1" MachineHours=".2">
Manufacturing steps are described here.
<step>new text describing the manu step</step>
<step>Manufacturing step 2 at this work center</step></Location>
</Root>
두번째 결과
<Root>
<Location LocationID="10" LaborHours="100.0" MachineHours=".2">
Manufacturing steps are described here.
<step>new text describing the manu step</step>
<step>Manufacturing step 2 at this work center</step></Location>
</Root>
/Root/Location/@LaborHours 의 값이 변경
나중에 유용하게 쓸수 있을듯.. 오늘도 퐈이링..ㅎㅎ
별도에 다른 시스템과 인터페이스를 하는데 xml data를 받기로 했다. 왜냐 쓰기 쉬우니까..
근데 이런... 처음에 이게 문제가 되었다..ㅠㅠ
저 문제는 그냥 문자열을 변환 시키면 문제해결.. 별로 어렵지 않았다....
하지만 변환 이후에도 xml 형태가 제대로 열리지 않고 에러가 발생하였다.
알고보니 xml node 안에 값중에 & 가 들어가 있는것이 아닌가.. 우띠...
& 를 어떻게 해야될까.. 내가한 작업은 동일하게 문자열 변환...Replace를 선택했다.. 쉬우니까..ㅋㅋ
근데 어떻게 하면 & 로 제대로 변환 할까.. 별거 아닌데 겁나 찾았다.
해결 방법
xmltxt = xmltxt.Replace(" ", "");
xmltxt = xmltxt.Replace("& ", "&");
는 "" 공백으로..
& 는 & 로...
잘 나온다..ㅎㅎㅎ
XmlDocument doc = new XmlDocument();
doc.LoadXml("<test></test>");
XmlNode node = doc.DocumentElement.SelectSingleNode("test");
XmlElement elem = doc.CreateElement("Root");
elem.SetAttribute("id", "id다");
elem.InnerText = "내용이다";
node.AppendChild(elem);
이렇게 하면 <test><root id="id다">내용이다</root></test>
Name | Character | Code |
---|---|---|
quot | " | " |
amp | & | & |
apos | ' | ' |
lt | < | < |
gt | > | > |