[英]Excel: Export to XML - With XML in cells
我正在尝试导出在表格的某些单元格中包含一些 XML 的电子表格。
ID(A栏):23455
事实(B 列)(此代码是从示例单元格中复制和粘贴的——它们并非都具有这种简单性或结构):
"<div class=""fact"">
<p><strong>FACT.</strong> The closest star to our solar system is Alpha Centauri.</p>
</div>
"
我想要 XML 如下所示:
<record>
<ID>23455</ID>
<FACT><div class="fact"><p><strong>FACT.</strong> The closest star to our solar system is Alpha Centauri.</p></div></FACT>
</record>
这足够复杂,我怀疑 Excel 的本机 XML 模式导出是否会起作用(这件事太挑剔了,我无法让它与最简单的数据值一起工作)。
我目前的想法是编写一个 Perl 脚本,将其读取为 CSV 文件并导出 XML。 但是,我注意到 CSV 在处理像这样“嵌入”的 XML 方面做得很差。
我希望其他人可能对如何提取这些信息有更好的建议。
编辑:终于弄清楚了我在导出时犯的错误。 可以导出并得到以下内容:
<record>
<ID>23455</ID>
<FACT><div class="fact"><p><strong>FACT.</strong> The closest star to our solar system is Alpha Centauri.</p></div>
</FACT>
</record>
我想我可以使用这个……一些正则表达式,它可能已经足够好了(寻找所有的<
可能会让我面临杀死一个真正的小于号的风险)。
所以我仍然愿意接受建议
只是将其发布为答案...
如果将列导出为文本,您可以获得以下信息:
<record>
<ID>23455</ID>
<FACT><div class="fact"><p><strong>FACT.</strong> The closest star to our solar system is Alpha Centauri.</p></div>
</FACT>
</record>
在 XML 编辑器中,我使用以下正则表达式进行了查找和替换以获取所有标签: s/<(\/?[\w\s="-_]+?)>/<$1>/
如果文档中有实际的标志,那就有点危险了,但是你需要一个例子,它是< /maybe and text with common tag symbols ="-_ >
- 可能但大多数方程的形式是X < Y < Z
. 我们的内容并没有太多地使用 <>,所以我可以相当确信它不会遇到边缘情况。
我还“修复”了所有 HTML ( s/<b>/<b/>/
和s/<img (.*?)>/<img $1/>/
)并检查了解析(理论上边缘情况会导致解析错误)。
是的,我现在有一个混合 DTD 的文档,它可以让所有真正的 XML 惊恐万分,但我可以使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.