마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

기초질문] 파싱에서 String값 질문..

0 추천

안녕하세요 요즘 종종 질문을 올리고있는 초보학생입니다

교재를  따라하며 현재 파싱을 해보고있는데

 

예제를 보면

String xml = "<?xml version=\"1.0\" encoding=\"utf=8\"?>\n" + "<order>" +
    "<item Maker=\"Samsung\" Price=\"23000\">Mouse</item>" + 
    "<item Maker=\"LG\" Price=\12000\">KeyBoard</item>" +
    "<item Price=\"156000\" Maker=\"Western Digital\">HDD</item>"+
    "</order>";
 
xml에 스트링값을 넣는데,  xml에서 파싱하려고 항목들을 다읽어들이는부분입니다..
보면 첫번째줄 맨오른쪽같은경우엔  "<order>"라고 딱 지칭을하는데 다른것들은 " "큰따옴표안에있는거같지않고
\ 역슬래시기준으로 뭔가되는거같은데,,이해를 못하겠습니다..ㅠ..교재에도 너무간단한건지 설명이 없구요..
 
도움부탁드립니다..
익명사용자 님이 2014년 7월 8일 질문

1개의 답변

+1 추천
 
채택된 답변
<?xml version="1.0" encoding="utf-8"?>
<order>
<item Maker="Samsung" Price="23000">Mouse</item>
<item Maker="LG" Price="12000">KeyBoard</item>
<item Price="156000" Maker="Western Digital">HDD</item>
</order>
간단하게 보시면됩니다...
 
교재위주로 설명드리겠습니다
Node item = items.item(i); //노드정보를 불러온다.
Node text = item.getFirstChild(); //item이라는 노드명안에있는 Mouse값을 가져온다.
 
NamedNodeMap Attrs = item.getAttributes(); //속성값을 가져온다 Map타입으로 되어있음.. 
// 안에 속성값이 여러개 있을수있으므로.. getLength길이만큼 for문을 돌린다
for (int j = 0;j < Attrs.getLength(); j++) {
Node attr = Attrs.item(j); //속성값 정보를 불러온다.
Result += (attr.getNodeName() + " = " + attr.getNodeValue() + "  "); //속성값안에 있는정보를 불러옴 이름 ="값" (Maker="Samsung")
}
 
 
HTML해보셨죠?
<option id="id값" value="value값">옵션</option>
이런느낌..?
whdrb19 (23,520 포인트) 님이 2014년 7월 8일 답변
아  역슬래시에 큰따옴표가 겹치니까 당황했는데 답변달아주신거 보고 다시보니 이해가네요 그냥 String 감싸고있는 큰따옴표에..html소스에 원래들어가는 큰따옴표.. 역슬래시는 빼면 다보이네요  정말감사합니다!!
...