アップロードされた XML ドキュメントをサーバー側で解析する必要があります。クライアント側で動作するコードがいくつかありますが、それをサーバー側に移動したいと考えています。私のクライアント側は FileReader API を使用し、そのコードは次のようになります。
reader.onload = function (e) {
var InnerLibrary = new String(e.target.result);
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(InnerLibrary, "text/xml");
console.log("start of xmlDoc console log");
console.log(xmlDoc);
console.log("end of xmlDoc console log");
$(xmlDoc).find('book').each(function () {
console.log("book Found");
console.log(($(this).attr("year")));
version = ($(this).attr("year"));
});
今、私は今見つけられないように見える他のSOの質問ごとにlibxmljsを使用するように導かれました。しかし、その人は libxmljs の方が優れていると言っていました。なぜなら、find() を使用して XML DOM オブジェクトをトラバースできるからです。
私はlibxmljsを試しましたが、何らかの理由でこの質問に記載されている問題を引き起こしています: libxmljsが問題を引き起こす質問
xml2js でこのトラバーサル メソッドを使用できますか? (つまり、.find() .each() .attr() を使用して、基本的にこれで使用されるすべてのもの)
そうでない場合、どのような方法でデータを検索すればよいですか?
更新:昨日xml2jsを使用してみましたが、xmlファイルから文字列に解析されず、文字列からxmlを解析するだけであることがわかりました。したがって、おまけの質問は次のようになります。
おまけ: サーバー側で FileReader API を使用できますか?