Javascript/jQueryを使用してXML文字列からHTMLフォームを作成する必要があります。JavaScriptでXML文字列をHTMLフォームに変換する
私は以下の回答
を通じてこれについての回答交渉に来た - XML to Form generator
私が欲しい正確に何ですが、私は提供されたリンク内のJavaScriptコードを見つけることができませんでした。 XML文字列を解析し、ノードを繰り返してフォームを構築しようとしましたが、コードに多数のバグがあり、時間が足りません。以下 は、私が試したコードです:私はXMLからHTMLフォームの構築を支援してください
function xmlToForm(text) {
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(text,"text/xml");
var htmlForm = '<form action="">';
var rootNode = xmlDoc.childNodes[0];
htmlForm += nodeToHtmlForm(rootNode);
htmlForm += '</form>';
function nodeToHtmlForm (node) {
var form = '';
if(node.childNodes.length > 0) {
node.childNodes.forEach(function(childNode) {
if(childNode.childNodes.length > 0) {
if(childNode.firstChild.nodeValue) {
form += '<div class="form-group">'
form += '<label><h4>'+ childNode.nodeName +'</h4>'+ '</label>';
form += '<input class="" id="id" value=' + childNode.firstChild.nodeValue + '>';
form += '</div>'
} else {
}
form += '<br><h4>'+ childNode.nodeName +'</h4><br>'
childNode.childNodes.forEach(function(grandChildNode) {
console.log(grandChildNode);
form += nodeToHtmlForm(grandChildNode)
});
}
else {
form += '<div class="form-group">'
form += '<label>'+node.nodeName+'</label>';
form += '<input class="" id="id" value='+node.firstChild.nodeValue+'>';
form += '</div>'
}
});
} else {
if(node.firstChild) {
form += '<div class="form-group">'
form += '<label>'+node.nodeName+'</label>';
form += '<input class="" id="id" value='+node.firstChild.nodeValue+'>';
form += '</div>'
} else {
form += '<br><h4>'+ node.nodeName +'</h4><br>';
}
}
return form;
}
return htmlForm;
//document.getElementById("htmlForm").innerHTML = htmlForm;
}
誰か。
を見つけることができませんでした。あなたが言及したサイトはjsも使用しません。私はちょっとグーグルで検索した後に、あなたが望むものを得るためにXSLTを使用する方法があることがわかりました。私はあなたがサーバー側でxmlを解析し、apiのようにユーザーにHTMLを返すべきだと思います。 – orangespark
@orangespark、実際はこれはクロム拡張で、バックグラウンドページからXMLをフェッチし、HTML形式に変換して拡張子に表示する必要があります。私はjavascript/jQueryのみを使用するように制限されています。 –
なぜあなたはjsとjqueryを使用してデータを取得するためにgetまたはajax呼び出しを使用しないでください – orangespark