2
DOMにXMLを追加するときにXML attribute
をパスカルケース「LateProcessing」に保つ方法はありますか?以下のコードは、属性LateProcessing="true"
を示していますが、XMLがDOMに追加されると、小文字のlateprocessing="true"
になります。DOMに追加するときにXML属性が小文字になる
var jObj = {
"Smart Shoes": {
"Product": "Smart Shoes",
"Price": 24.99,
"Quantity": "1x "
},
"Denim Jeans": {
"Product": "Denim Jeans",
"Price": 30,
"Quantity": "1x "
}
}
var xmlString = '<xml id="POSCMD" LateProcessing="true"><commands><injectfieldmacro type="field" name="FIELD_CLEAR"/>';
for (var item in jObj) {
if (jObj.hasOwnProperty(item)) {
xmlString += '<injectdata type="literal" data="' + jObj[item].Price + '"/>'; // I don't know where you got UPC from
xmlString += '<injectfieldmacro type="field" name="FIELD_UPC"/>'
}
}
xmlString += '</commands></xml>';
$('body').append(xmlString);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
これは、ブラウザのHTMLレンダラが原因です。ベストプラクティスでは、HTMLはすべて小文字にする必要があるため、文字列はそのままDOMに出力されます。実際のXMLビューアで 'console.log()'を使用してプレーンストリングと見なした方がよい場合、ケーシングは影響を受けません。 –
ええ、console.logやソースコードで表示しても問題ありません。それで周りに道はありませんか? – MrNew
いいえ、HTMLのように扱われるため、XMLをDOMに入れることはできませんが、いくつかの回避策があります:http://stackoverflow.com/questions/349250/how-to-display-xml-in -javascript –