javascript - JSON 到 xml 的特殊字符

标签 javascript json xml excel

我正在使用 Javascript 和 PHP。

我像这样编写了一个 JSON:

[{"id": 32, "label": "Some Title", "type": "tinymce", "value": "<!DOCTYPE html>↵<html>↵<head>↵</head>↵<body>↵<p>asdasdasda&nbsp;30-09-2017</p>↵</body>↵</html>"}]

真正的 JSON 是一个对象/数组的长数组。我正在创建一个 XML 文件(扩展名为 .xls),该文件将由 Excel 读取。对于普通字符,一切正常,但我无法输入这些特殊字符以使 Excel 读取该 XML 文件。我能做什么?

不能做的是:

  • 使用其他格式:我需要读取扩展名为 .xls 的 XML。
  • 更改 JSON 中的数据,它是外部的。

按照我的方式,tXML 结果如下:

<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&nbsp;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 的内容属性。

例如,使用 jQuery:

var text = $('<div/>').html(o.value).find('p').text()

或者,您可以使用正则表达式来匹配 <p> 之间的内容。和</p> ,尽管如果格式有所不同,这可能会更加脆弱。在这种情况下,您还需要解码 HTML 实体,这通常涉及执行与上面相同的大部分操作。

关于javascript - JSON 到 xml 的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39986305/

相关文章:

javascript - 在另一个 ajax 函数中使用 ajax 函数的输出

php - 不要使用 Symfony 序列化程序显示空元素

Php 不读取 xml 数据

java - 如何在 Java 中创建和访问列表列表.. 的列表?

javascript - 如何从 OrientDB 中自定义 javascript 函数内的 JSON 提取 db.command 查询的结果

javascript - 根据 JSON 键的数量添加 html 元素

c# - 属性的 XML 反序列化

javascript - 如何在 Angular 5 中使用 Material 步进器

javascript - 如何在Extjs4中使用负载监听器

javascript - 如何从javascript中的字符串中获取名称