Prototype.js(http://prototype.conio.net/)でできそうなんですが・・・
<html>
<head>
<script language="JavaScript">
function test()
{
var urllist;
var element;
urllist = form1.urllist.value;
url = urllist.split("\n");
for( i = 0; i < url.length; i++ ){
element = url[i].split("\\");
url[i] = new Array();
url[i]["element"] = element;
/*
for( j = 0; j < url[i]["element"].length; j++ ){
alert( url[i]["element"][j] );
}
*/
}
}
</script>
</head>
<body>
<form name="form1">
<input type="button" onClick="test()" value="test" /><br>
<textarea name="urllist" cols="100" rows="10">
C:\hoge\foo\aaa.html
C:\hoge\foo\bbb.html
C:\hoge\foo\bar\ccc.html
C:\hoge\hogehoge\123.html
C:\hoge\456.html
</textarea>
</form>
</html>
</body>
#1 のリンク先を統合してこのようにしたら動作しましたよ。
<html> <head> <script type="text/javascript" src="./prototype.js"></script> <script language="JavaScript"> var extension = { toXMLString: function() { return this.map(function(pair) { return "<"+pair.key+">"+ ( typeof pair.value == 'string' ? pair.value : $X(pair.value).toXMLString() ) +"</"+pair.key+">"; }).join(''); } } function $X(object) { var hash = $H(object); Object.extend(hash, extension); return hash; } function test() { var urllist; var element; urllist = form1.urllist.value; url = urllist.split("\n"); for( i = 0; i < url.length; i++ ){ element = url[i].split("\\"); url[i] = new Array(); url[i]["element"] = element; /* for( j = 0; j < url[i]["element"].length; j++ ){ alert( url[i]["element"][j] ); } */ } var h = $X(url); alert(h.toXMLString()); } </script> </head> <body> <form name="form1"> <input type="button" onClick="test()" value="test" /><br> <textarea name="urllist" cols="100" rows="10"> C:\hoge\foo\aaa.html C:\hoge\foo\bbb.html C:\hoge\foo\bar\ccc.html C:\hoge\hogehoge\123.html C:\hoge\456.html </textarea> </form> </html> </body>
と云うか、最終的に XML化したいものは変数 url に入っているのでは?
urllist は textarea の中身を引っ張った後は書き込まれていませんし。
以下のページにサンプルがありました。
参考になりますでしょうか?
http://www.virtual-tech.net/blog/2006/12/prototypejs-xmljavascri...
このサンプルの
var h = $X(h0);
の箇所を
var h = $X(urllist);
に変更してやってみたのですが、NGでした。
#1 のリンク先を統合してこのようにしたら動作しましたよ。
<html> <head> <script type="text/javascript" src="./prototype.js"></script> <script language="JavaScript"> var extension = { toXMLString: function() { return this.map(function(pair) { return "<"+pair.key+">"+ ( typeof pair.value == 'string' ? pair.value : $X(pair.value).toXMLString() ) +"</"+pair.key+">"; }).join(''); } } function $X(object) { var hash = $H(object); Object.extend(hash, extension); return hash; } function test() { var urllist; var element; urllist = form1.urllist.value; url = urllist.split("\n"); for( i = 0; i < url.length; i++ ){ element = url[i].split("\\"); url[i] = new Array(); url[i]["element"] = element; /* for( j = 0; j < url[i]["element"].length; j++ ){ alert( url[i]["element"][j] ); } */ } var h = $X(url); alert(h.toXMLString()); } </script> </head> <body> <form name="form1"> <input type="button" onClick="test()" value="test" /><br> <textarea name="urllist" cols="100" rows="10"> C:\hoge\foo\aaa.html C:\hoge\foo\bbb.html C:\hoge\foo\bar\ccc.html C:\hoge\hogehoge\123.html C:\hoge\456.html </textarea> </form> </html> </body>
と云うか、最終的に XML化したいものは変数 url に入っているのでは?
urllist は textarea の中身を引っ張った後は書き込まれていませんし。
ご回答ありがとうございます。
ご指摘のとおり動作しました。
ご回答ありがとうございます。
ご指摘のとおり動作しました。