//格式化xml
function formatXml(){
var str = $('xml').value;
//去除输入框中xmll两端的空格。
str = str.replace(/^\s+|\s+$/g,"");
var source = new ActiveXObject("Msxml2.DOMDocument");
//装载数据
source.async = false;
source.loadXML(str);
// 装载样式单
var stylesheet = new ActiveXObject("Msxml2.DOMDocument");
stylesheet.async = false;
stylesheet.resolveExternals = false;
stylesheet.load("jsp/xmlStyle.xsl");
// 创建结果对象
var result = new ActiveXObject("Msxml2.DOMDocument");
result.async = false;
// 把解析结果放到结果对象中方法1
source.transformNodeToObject(stylesheet, result);
//alert(result.xml);
if(result.xml==''||result.xml==null){
alert('xml报文格式错误,请检查');
return false;
}
var finalStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +result.xml;
$('xml').value =finalStr;
}
除上述的js代码之外,还需要创建一个xsl格式文件。
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = "xml" omit-xml-declaration = "yes" indent = "yes" encoding="utf-8"/>
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
上述代码来自语孟子的文章,添加部分内容解释:
omit-xml-declaration = "yes"
可选。 "yes" 规定在输出中省略 XML 声明 (<?xml...?>)。 "no" 规定应在输出中包含 XML 声明。默认是 "no"。
indent = "yes"
可选。在输出结果树时是否要增加空白;该值必须为 yes 或 no。Netscape 6 不支持该属性。
<xsl:template match="/ | @* | node()">
match中内容定义该模板包括 xml的全部分支,包括节点和属性。
<xsl:copy>
将中间的内容拷贝到输出文件。
<xsl:apply-templates select="@* | node()"/>
<xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点。
这里选择的xpath为xml全部属性以及任何类型的节点。
对于各个节点的作用以及使用,可以访问
http://www.w3school.com.cn/xsl/xsl_w3celementref.asp 。里面讲的都很细致。
分享到:
相关推荐
而`XMLFormatUtil.java`文件则可能包含了对XML字符串进行格式化的函数。在Java中,可以使用`javax.xml.transform`包中的`Transformer`类来设置格式化参数,如缩进、换行等,使XML更加易读。 ```java import javax....
本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...
最后,将格式化后的XML字符串返回,供后续使用。在`XmlFormatUtils`类中,这个过程可能封装在一个静态方法里,如`formatXmlFile(String xmlFilePath)`,并返回`formattedXmlString`。 通过上述步骤,我们能够实现...
"Json和Xml离线格式化工具"是针对这两种格式的解析和美化工具,可以在没有网络连接的情况下对JSON和XML数据进行格式化,使得数据更易于阅读和理解。 JSON格式化工具通常包含以下功能: 1. **代码高亮**:为键值对和...
在JavaScript中,处理XML数据时,我们经常需要将XML字符串格式化并高亮显示,以增强可读性。本文将详细介绍如何使用DOMParser解析XML字符串,并递归遍历XML树来实现这一目标。 首先,XML(Extensible Markup ...
正则表达式在JavaScript中非常强大,可以用来处理字符串的模式匹配和替换,非常适合进行文本格式化的任务。 描述中提到这个工具"可用于emeditor插件",意味着它可以作为一个编辑器扩展,帮助用户在emeditor中快速...
标题中的"Json字符串格式化工具"指的是用于美化或格式化JSON数据的软件或在线服务。这类工具可以帮助开发者将原始的、紧凑的JSON字符串转换成可读性更强的格式,通过增加缩进和换行来清晰地展示数据结构,便于理解和...
JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...
1. **格式化**:将原始的XML字符串按照标准的XML格式重新排列,使其更加易于阅读。这包括缩进、换行,以及正确排序属性等。 2. **高亮显示**:通过颜色区分不同的XML元素、属性和文本,提升代码的可读性。通常,...
3. 输出格式化后的XML字符串。 使用原生JavaScript完成上述步骤可能需要一些复杂的操作,因此在实际开发中,我们可能会使用第三方库,比如 `jsdom` 或者服务器端的 `DOMDocument` 对象,来更方便地操作XML。 ### ...
JSON格式化工具需要将紧凑的JSON字符串转换为人类易读的格式,这通常涉及到JSON.NET库的使用,该库提供了解析和序列化JSON的强大功能。通过JsonTextReader和JsonTextWriter,可以实现JSON的读取和格式化输出。 再者...
总的来说,JavaScript解析XML字符串的关键在于处理不同浏览器的兼容性问题,使用`try...catch`结合`ActiveXObject`和`DOMParser`可以有效地实现这一目标。同时,理解XML文档的结构和DOM(文档对象模型)的概念对于...
本篇文章将深入探讨如何使用JavaScript加载XML文件和XML字符串,主要涉及DOM和XMLHttpRequest两种方法。 **1. DOM(Document Object Model)方式加载XML** DOM是一种标准,它允许程序和脚本动态更新、添加、删除和...
总结来说,JavaScript通过`XMLHttpRequest`或`fetch`获取XML文件,使用`DOMParser`解析为DOM,然后通过DOM API进行操作,最后可能需要使用`XMLSerializer`序列化回XML字符串。在处理过程中,注意错误处理和选择适合...
在JavaScript中处理XML时,有时我们需要对XML字符串进行格式化,使其更易于阅读,或者将XML文本解析成DOM对象以便进一步操作。本篇将详细讲解如何在JavaScript中实现XML格式化函数和解析XML文本为DOM文档的功能。 ...
1. 解析JSON或XML:使用JavaScript的`JSON.parse()`函数可以解析JSON字符串为JavaScript对象,而XML解析则需要借助DOM(Document Object Model)或者第三方库如jQuery的`$.parseXML()`。 2. 构建HTML结构:根据解析...
Editplus的JSON格式化功能可以将无格式的JSON字符串转换为易于阅读的格式,使键值对对齐,增加缩进,方便快速理解和调试。 要实现这些功能,我们可以利用提供的压缩包文件。"JSON格式化插件.rar"很可能是为Editplus...
`xml2js`函数接收一个XML字符串,解析成DOM,然后将DOM转换为JavaScript对象(即JSON格式)。转换过程中,库会处理XML的层级结构,将元素映射为对象,属性映射为对象的属性,文本内容作为对象的值。反之,`js2xml`则...
在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...