以下最小测试用例在powershell中引发错误:
[reflection.assembly]::LoadWithPartialName('system.xml.linq')
[system.xml.linq.xdocument]::parse('<node>&</node>')
坦率地说,在任何.net库中。存储网址时这是一个真正的问题 - 如果<node>
的内容为http://test.com/?one=a&two=b
,则会出现问题。
如何正确编码?
答案 0 :(得分:2)
XML中编码的&符是&
使用编码的&符号运行它不会引发异常:
[reflection.assembly]::LoadWithPartialName('system.xml.linq')
[system.xml.linq.xdocument]::parse('<node>&</node>')