从JSON到xml的特殊字符
special characters on JSON to xml
我正在使用Javascript和PHP。
我有一个JSON像这样:
[{"id": 32, "label": "Some Title", "type": "tinymce", "value": "<!DOCTYPE html>↵<html>↵<head>↵</head>↵<body>↵<p>asdasdasda 30-09-2017</p>↵</body>↵</html>"}]
真正的JSON是一个对象/数组的长数组。我正在创建一个XML文件(具有。xls扩展名),将被读取为Excel。正常字符一切正常工作,但我不能把这些特殊字符,以使Excel读取XML文件。我能做什么?不能做的是:
- 使用另一种格式:我需要读取扩展名为。xls的XML。
- 从JSON中更改数据,这是外部的
在我这样做的时候,XML的结果是这样的:
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String"></ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String"></ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String"></ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">Objeto del contrato</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String"><!DOCTYPE html> // I don't need all the html tags, I just need to put the text of the <p> tags.
<html>
<head>
</head>
<body>
<p>asdasdasda 30-09-2017</p>
</body>
</html></ss:Data>//here ends the wrong text coming from the JSON
</ss:Cell>
</ss:Row>
在Excel中是不正确的
由于value
属性的内容是HTML,你可能有一个隐藏的元素(甚至是一个不附加到DOM的元素),设置它的innerHTML
为这个属性的内容,然后使用你最喜欢的DOM操作库(例如jQuery)来读取p
属性的内容。
var text = $('<div/>').html(o.value).find('p').text()
或者,您可以使用regex来匹配<p>
和</p>
之间的内容,尽管如果格式有所不同,这可能会更脆弱。在这种情况下,您还需要解码HTML实体,这通常涉及与上述相同的操作。
考虑到您在问题中提到您正在使用PHP,我将假设您正在用PHP处理JSON以创建XML文件。
在这种情况下,可以使用DOMXPath从HTML值查询确切的元素:
$html = "<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>asdasdasda 30-09-2017</p>
</body>
</html>";
$doc = new DOMDocument;
$doc->loadHtml($html);
$xpath = new DOMXPath($doc);
$query = '/html/body/p';
$entries = $xpath->query($query);
print $entries->item(0)->nodeValue; //outputs 'asdasdasda 30-09-2017'
这是假设HTML的结构总是相同的;如果发生变化,则需要更新$query
变量。例如,为了选择文档中的所有p
标记,XPath查询将是//p
.
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 用于在Javascript中删除多个空格的特殊字符
- jQuery-Regex以防止任何特殊字符
- javascript正则表达式来识别所有特殊字符
- RegEx只获取特殊字符,前后不获取任何字符
- 如何解析带有特殊字符的xml?专门针对安培数
- 如何为特殊字符编写正确的xml
- 转义 XML 文档中的特殊字符
- 是否有js函数将xml特殊字符替换为转义序列
- 如何在html中转换XML文档中的html特殊字符
- 如何添加特殊字符如&比;在XML文件中使用JavaScript
- 从JSON到xml的特殊字符