0

我有一个 CLI 应用程序,它能够使用一些参数编辑 XML 文件。

但是我现在需要一种更强大的方法来做到这一点。

我想为用户提供使用 .txt 中的自定义代码编辑 XML 文件的选项,以便完全控制 XML 编辑。

例如:

@CODE File<file name for XML editing>
<code>
# Custom XML parser/editing code
for elem in tree.iter(tag='location'):
if elem.text == 'J':
    elem.text = 'January'
</code>

在 .net C# 中,哪种方法最安全?我的意思是用户只能编辑 XML 文件,而不能做任何损害系统安全的事情(比如删除文件)?

我正在考虑使用 Javascript 引擎(就像这个引擎)并从文件中运行 javascript 代码。我相信 javascript 会限制用户能够做的事情。我也在 C# 代码和 Python 中考虑过,但这可能会引入安全问题。

编辑: 一个要求是它必须在单声道上工作。

4

1 回答 1

0

我选择了 IronJS .NET 运行时和此处讨论的 javascript XML 库(XML for < script> W3C DOM Parser)。

我还寻找了其他 javascript .NET 运行时,例如:Javascript .NET、Jurassic 和 Jint(选择 IronJS 是因为性能更好)。另外测试了一些 .NET Lua 库,即Kopilua,但选择了 javascript 解决方案,因为它看起来更完整、更有文档且更易于使用。

于 2013-05-19T21:12:41.470 回答