관련글 : - xml & xsl] ktours' to xml(moded sample) to blog...2 -
어제... html 을 xml 로 변환하기 위해 element 를 추적해야할거라는 얘기를 했는데...
잘 진행될지 모르겠지만, 일단 source 를 뽑고, 진행을 계속해본다.
...
<div id=x1><b>여의도 남측 조금 건너편에서...</b><br /><br /><TABLE style="BORDER-BOTTOM: #dedede 1px solid; BORDER-LEFT: #dedede 1px solid; BACKGROUND: url(http://img.cyworld.com/img/map/map_icon.gif) #fff no-repeat 7px 3px; BORDER-TOP: #dedede 1px solid; BORDER-RIGHT: #dedede 1px solid; -moz-border-radius: 10px"><TBODY><TR><TD><A style="COLOR: #666; TEXT-DECORATION: none" id=map_id href="http://map.cyworld.com/menu/view.map?map_id=854636" name=854636_1 target=_blank tp_privilege="P"><DIV style="TEXT-ALIGN: left; PADDING-BOTTOM: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: 3px; FONT: 12px 돋움; PADDING-TOP: 3px">대한민국 한강 여의도남측조금건너</DIV></A></TD></TR></TBODY></TABLE><br /> <br />지나가다가... 공사가 어느정도(?) 마무리됐음을 느끼고 진입해봤다.<br />뭐랄까... 예전에 봤던 모래사장(?)이 안보인다고 해야하나...<br /> <br />매년 새들이 쉬고가는 장소로 기억하던 곳인데...<br /> <br />NowMark killofki@.<br /> <br /><a num=1>1) 63빌딩</a><br /><a num=2>2) 원효대교</a><br /><a num=3>3) 한강철교
</a><br /><br /></div>
<div id=x2></div>
<script>
function AttrNStyle(obj) {
var ov='', c, i, j;
ov+='* Attributes *\n\r';
c=obj.attributes;
ov+=c+'\n\r';
for (i in c) {
if (i!='contentEditable')
if (i!='className')
if (i!='style_Str')
if (i!='length')
if (typeof(c[i])=='object') {
if (c[i]['value'])
if (c[i]['value']!='null')
if (c[i]['value']!='false')
if (c[i]['value']!='0')
{
ov+=i+'\n\r';
for (j in c[i]) {
if (c[i][j])
if (j!='nodeType')
if (j!='nodeName')
if (j!='nodeValue')
if (j!='specified')
if (j!='ownerDocument')
ov+='- '+j+':'+c[i][j]+'\n\r';
}
}
}
else if (c[i]) { ov+=i+' : '+c[i]+'\n\r'; }
}
ov+='\n\r\n\r';
ov+='* style *\n\r';
c=obj.style;
for (i in c) {
if (i!='contentEditable')
if (i!='className')
if (i!='style_Str')
if (i!='length')
if (typeof(c[i])=='object') {
if (c[i]['value'])
if (c[i]['value']!='null')
if (c[i]['value']!='false')
if (c[i]['value']!='0')
{
ov+=i+'\n\r';
for (j in c[i]) {
if (c[i][j])
ov+='- '+j+':'+c[i][j]+'\n\r';
}
}
}
else if (c[i]) { ov+=i+' : '+c[i]+'\n\r'; }
}
ov+='\n\r\n\r';
return ov;
}
function eleShow(oobj) {
var oov='', cN, cNn, iii, jjj;
oov+=AttrNStyle(oobj);
//
oov+='* children *\n\r';
cN=oobj.firstChild;
iii=0;
///
try {
///
while(cN) {
iii++; if (iii>100) break;
oov+=cN.nodeName+'/';
if (cN['nodeValue']) {
oov+='- '+cN.nodeValue;
cNn=cN.nextSibling;
while (!cNn) { oov+='^-\n\r';
cN=cN.parentNode; if (cN==oobj) break; cNn=cN.nextSibling; }
cN=cNn;
}
else if (cN['firstChild']) {
oov+='_.\n\r';
cN=cN.firstChild;
}
else if (cN['nextSibling']) {
oov+='#.\n\r';
cN=cN.nextSibling;
}
else
{
oov+='^\n\r';
cN=cN.parentNode;
if (cN==oobj) break;
cNn=cN.nextSibling;
while (!cNn) { oov+='^^\n\r';
cN=cN.parentNode; if (cN==oobj) break; cNn=cN.nextSibling; }
cN=cNn;
}
oov+='\n\r';
}
//
///
} catch(err) { }
///
document.getElementById("x2").innerText=oov;
}
eleShow(document.getElementById("x1"));
</script>
<br><br>
...
음... document 를 구성하는 중간에 eleShow 를 가동시켜서
x1 밑 x2 에 x1 의 child를 뽑는 형식으로 진행됐다.
... 아직 미완성(?)이라 try & catch 가 남아있고...
이리저리(?) 검색하다가 firstChild , nextSibling , parentNode , nodeValue 등(?)에 관한 방향을 잡고(?),
진행시켜 본 것...
( parentNode 부분에서 많이 헥갈렸다... oobj 가 어디로 튈지 모르니까...)
결과는
...
여의도 남측 조금 건너편에서...
지나가다가... 공사가 어느정도(?) 마무리됐음을 느끼고 진입해봤다.
뭐랄까... 예전에 봤던 모래사장(?)이 안보인다고 해야하나...
매년 새들이 쉬고가는 장소로 기억하던 곳인데...
NowMark killofki@.
1) 63빌딩
2) 원효대교
3) 한강철교
대한민국 한강 여의도남측조금건너 |
지나가다가... 공사가 어느정도(?) 마무리됐음을 느끼고 진입해봤다.
뭐랄까... 예전에 봤던 모래사장(?)이 안보인다고 해야하나...
매년 새들이 쉬고가는 장소로 기억하던 곳인데...
NowMark killofki@.
1) 63빌딩
2) 원효대교
3) 한강철교
...
기존에 local 에서 진행된 형태와 결과값이 조금 다르긴 하지만...
이렇게 나왔다.
(음... while 문이 들어간 스크립트인데... 오류 안생길라나... iii 로 break point 는 잡아두긴 했지만...)
IE 에서만 이렇게 나올 것 같은데... test 해봐야할 듯...
OTL... IE 에서만 스크립트 작동한다...
(뭐... 결국은 IE 전용으로 쓰게 되겠지만...)
...
중간에 오류가 나서 그런건지, 아니면 attr 에서만 오류가 난건지 AttNStyle 을 try & catch 로 묶어봤더니
FF 에서는 결과가 안나왔지만, Chrome 과 Safari 에서는 오류났다는 결과물을 보여줬다.
(그래도, 아얘 멈추는 사태는 없어서 다행...)
- Chrome 과 Safari 를 위해 수정했던 부분 -
function eleShow(oobj) {
var oov='', cN, cNn, iii, jjj;
try {
oov+=AttrNStyle(oobj);
} catch(err) {
oov+="\n\r: can not Access Attrs :\n\r\n\r";
}
//
...
이제, base 는 어느정도(?) 갖춰놨고...
xml 로 다시 서술하기 위해 조금 더 진행을 해야할 듯...
NowMark killofki@.
'.getElementById()' 카테고리의 다른 글
table-div] table 의 tr (줄항목)이 삭제/추가되어도 보던거(?) 보기 위해...2 (0) | 2010.05.31 |
---|---|
table in div] table 의 tr (줄항목)이 삭제/추가되어도 보던거(?) 보기 위해...1 (부분실패작) (0) | 2010.05.30 |
table] div 내 table 표시내용 번호추출... (0) | 2010.05.29 |
동적 table] table object 를 주물러보려고... (0) | 2010.05.16 |
팝업 내용을 표시하기 위해... document.getElementById("").innerHTML=... (0) | 2009.08.30 |