如何使用 Reactjs 显示 xml 数据

Posted

技术标签:

【中文标题】如何使用 Reactjs 显示 xml 数据【英文标题】:How to display xml data using Reactjs 【发布时间】:2015-08-23 21:56:48 【问题描述】:

我想将 React JS 的输入作为 XML 格式而不是 json 格式。 所以请回复如何在 React js 中显示 XML。

【问题讨论】:

【参考方案1】:

我建议您将 xml 数据解析为 javascript 对象。为此您可以xml2js library。

【讨论】:

首先感谢您对我的关心。 React js 中是否有任何默认功能来获取 xml 文件。因为如果我使用外部库进行转换,可能会提高加载速度。 当我使用将 xml 转换为 json 对象时,错误抛出为“Uncaught TypeError: this.props.data.map is not a function”。 请提供一个jsfiddle,一个例子,或者发布第二个问题。 抱歉,我无法添加其他问题。您能否提供任何用于获取 xml 而不是 json 的 react js 示例代码。 Hai Edo,已经在上面添加了我的代码,请给出解决方案。【参考方案2】:

我知道这是一篇旧帖子,但可能会对某些人有所帮助。为了显示 XML 数据,我只使用了 pre 元素。如果您不需要折叠/展开节点等额外功能,那么这应该适合您。

<pre className="xml-body">
    this.props.xmlstr
</pre>

然后你可以用条纹背景设置 pre 样式...

pre.body 
    width: 100%;
    display: block;
    max-height: 500px;
    overflow: auto;
    margin: 0;
    padding: 0 5px;
    background: #F3F2F2;
    background-image: -webkit-linear-gradient(#F3F2F2 50%, #EBEAEA 50%);
    background-image:    -moz-linear-gradient(#F3F2F2 50%, #EBEAEA 50%);
    background-image:     -ms-linear-gradient(#F3F2F2 50%, #EBEAEA 50%);
    background-image:      -o-linear-gradient(#F3F2F2 50%, #EBEAEA 50%);
    background-image:         linear-gradient(#F3F2F2 50%, #EBEAEA 50%);
    background-position: 0 0;
    background-repeat: repeat;
    background-attachment: local;
    background-size: 4em 4em;
    line-height: 2em;
    display: none;

希望这可以帮助某人:)

【讨论】:

【参考方案3】:

太糟糕了,你必须使用 JQuery。获取数据并使用 jquery 进行放置。

.then(response => 
            return response.text()
         )
        .then(xml => 
            console.log(xml);
            $("#place_holder").text(xml);)

【讨论】:

【参考方案4】:
# By importing xml files #

//webpack setting
    module: 
        loaders: [
           test: /\.xml$/, loader: 'xml-loader' 
        ]
      
      //index.js
    import xmlName from 'xml url'   //like './xmlfolder/testxml.xml'

    let anotherVar = Immutable.fromJS(xmlName);
    // Now xml is in 'anotherVar'.

【讨论】:

以上是关于如何使用 Reactjs 显示 xml 数据的主要内容,如果未能解决你的问题,请参考以下文章

ReactJS + React Router:如何使 div 居中?

如何使用 ReactJs 将 json 数据显示为表格

reactjs中如何使用json在表格中显示数据?

如何使一个 ReactJS Store 依赖于另一个 Store?

在 ReactJS 中使用 state 和 Function 组件时如何使输入不失去焦点?

如何以 Node JS 作为后端将 Mysql 数据获取并显示到 ReactJS 前端?