0

我正在将“&”转换为&,但它无法转换。请给我一个解决方案。我正在以这种方式读取文本文件:

let $docData := doc(concat($directory, '/', $filename))
return 
<my_value>{let $data := replace($docData/text(), "&amp;" , "-")
return $data
}</my_value>

错误信息:

Error executing the XQuery transformation: Error parsing XML: {err}FODC0002 [{bea-err}FODC0002b]: Error parsing input XML "file://folder/test":
Error at line:1 col:14 Line:1 ';' expected, got char[32]
4

2 回答 2

2

您不能使用 加载文本文件doc,它只能加载 xml 文件。

在 XQuery 3.0 中,您可以使用unparsed-text. 你不需要 concat 那里:

let $data := unparsed-text($directory || '/' || $filename)
return <my_value>{$data}</my_value>
于 2014-01-15T13:49:53.770 回答
1

它告诉您 XML 输入文档中存在问题,并且它看到了一个空格(ASCII 32),它应该是一个 ';' 特点。你没有向我们展示输入,但我敢打赌你写&amp了你打算写的地方&amp;

于 2014-01-15T13:51:38.417 回答