【发布时间】:2015-07-09 13:29:54
【问题描述】:
我正在尝试确定一种将数据从 excel 导出到 XML 的简单有效的过程,同时将某些字段包装在 CDATA 标记中。我已经到了导出 XML 的地步(使用概述的过程here),但我坚持使用注入 CDATA 标记以包装某些字段值的最佳方法。我进行了广泛的搜索,但没有找到解决方案。如果可能的话,我不希望在我的 excel 数据中包含实际的 CDATA 标记。
当前 XML 代码示例(删节):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<product>
<code>1</code>
<searchEngineSupportPages>
<searchEngineSupportPage locale="en_US">
<siteSearchEngineSupports>
<siteSearchEngineSupport siteCode="CH">
<urlValue>test-url</urlValue>
<title>Test Title</title>
<metaDescription>Test Desc</metaDescription>
<metaKeywords>keyword, test</metaKeywords>
</siteSearchEngineSupport>
</siteSearchEngineSupports>
</searchEngineSupportPage>
</searchEngineSupportPages>
</product>
</products>
所需的 XML 代码示例(注意 CDATA 标记):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<product>
<code>1</code>
<searchEngineSupportPages>
<searchEngineSupportPage locale="en_US">
<siteSearchEngineSupports>
<siteSearchEngineSupport siteCode="CH">
<urlValue>test-url</urlValue>
<title>Test Title</title>
<metaDescription><![CDATA[Test Desc]]></metaDescription>
<metaKeywords><![CDATA[keyword, test]]></metaKeywords>
</siteSearchEngineSupport>
</siteSearchEngineSupports>
</searchEngineSupportPage>
</searchEngineSupportPages>
</product>
</products>
是否有一种简单有效的方法来确保指定字段的导出 XML 包含在 CDATA 标记中? VBA有可能吗?
我不依赖于我正在使用的流程,因此如果有更好的方法,我愿意接受其他关于如何集体解决的想法。我喜欢 Excel XML 导出功能,因为它简单且有效。我不是 XML/VBA 专家,但我有能力。
提前致谢!
========================================
编辑 [2015 年 7 月 15 日]: Martijn 很乐意提供一种使用 XSLT 的方法,但想知道是否有更精简的方法可以实现这一目标?
【问题讨论】:
标签: xml excel vba export cdata