我使用PHP SimpleXML来解析文件中的数据。比方说,我有以下XML内容:
import React from 'react';
import { Link } from 'react-router';
class RecommendedPosts extends React.Component {
constructor() {
super(props);
this.state = {
posts: this.shuffle(this.props.posts)
}
}
shuffle(posts){
///shuffle using some algo
return posts
}
render() {
return (
<ul>
{this.state.posts.map((post, idx) => {
return (
<li key={idx}>
<p>{post.title}</p>
<p>{post.text}</p>
<p>{post.category}</p>
<Link to={`/blog/post-1/:${post.id}`}>Weiter lesen</Link>
</li>
);
})}
</ul>
);
}
}
RecommendedPosts.propTypes = {
posts: React.PropTypes.array,
};
export default RecommendedPosts;
&#13;
我基本上想要得到节点内部的实际原始内容。即我需要它来返回&#34; innerXML&#34; parent1就像文本,标签和所有。无法让PHP执行此操作。帮助
答案 0 :(得分:2)
获取确切内容&#39; <child1>blah</child1><child2>blah blah</child2>
&#39;就像你自己一样,你最好把它们放在<![CDATA[]]>
之下。然后你就可以把它当作自己的东西。
xml应该是这样的::
<?xml version="1.0" ?>
<root>
<parent1>
<![CDATA[<child1>blah</child1>
<child2>blah blah</child2>]]>
</parent1>
<parent2>blah</parent2>
</root>
然后
$xml = simplexml_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA);
$parent1 = $xml->parent1->asXml();
echo "<pre>";echo ($parent1);echo "<pre>";
这将输出:
<child1>blah</child1>
<child2>blah blah</child2>