我正在编写一个工具,将.pdf编码为base64字符串,并将其插入到XML元素中。当我在不同的.pdf文件中测试它时,我发现在某些情况下,它按预期工作,而在其他情况下,它只是不插入base64字符串。
$xmlObjectSettings = New-Object System.Xml.XmlWriterSettings
$xmlObjectSettings.Indent = $true
$xmlObjectSettings.IndentChars = " "
$xmlFilePath = $Path
$xmlObjectWriter = [System.Xml.XmlWriter]::Create($xmlFilePath,$xmlObjectSettings)
$xmlObjectWriter.WriteStartDocument()
$xmlObjectWriter.WriteStartElement("Report","http://www.website.com/ns")
$xmlObjectWriter.WriteStartElement("pdfFile")
$xmlObjectWriter.WriteElementString("Data","$base64EncodedString")
$xmlObjectWriter.WriteEndElement()
$xmlObjectWriter.WriteEndElement()
$xmlObjectWriter.WriteEndDocument()
$xmlObjectWriter.Flush()
$xmlObjectWriter.Close()
$xmlObjectWriter.Dispose()当我在调试期间检查时,我看到$base64EncodedString值在被填充到XML的情况下和当它失败时都是存在的。当它失败时,"Data“元素将完全丢失。我知道这是一个广泛的问题,但我希望有人能提供一些关于为什么在某些编码的.pdf文件上会失败的一些见解。
发布于 2022-04-26 17:13:41
只是我正在使用的XML阅读器()中的一个显示问题。当在记事本中打开时,数据将如预期的那样显示出来。
https://stackoverflow.com/questions/72016137
复制相似问题