json - powershell xml到json空白文件
问题描述
我正在尝试使用 powershell 将 xml 文件转换为 json。在那之前它非常简单,但是在我看来源文件编码不好,当我应用 convertto-json 时,结构 json 是空的:
XML 源:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PnCG3_configuration>
<domains>
<domain Name="xxxxx">
<players>
<player targetId="00-1c-e6-02-0a-00" targetIdType="mac" label="test" middlewareFamily="gekkota-3" />
<player />
</players>
</domain>
<domain Name="xxxxxxx2">
<players>
<player targetId="00-1c-e6-02-0a-00" targetIdType="mac" label="OfficeChateaugiron-TV01" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-20-00" targetIdType="mac" label="test-01" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-0b-00" targetIdType="mac" label="test-test-TV01" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-20-00" targetIdType="mac" label="test-TV01-test" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-20-00" targetIdType="mac" label="test" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-09-00" targetIdType="mac" label="test-test-TV01" middlewareFamily="gekkota-3" />
<player targetId="00-1c-e6-02-04-00" targetIdType="mac" label="test-test-TV01" middlewareFamily="gekkota-3" />
<player />
</players>
</domain>
和 Json 输出:
[
[
],
[
[
[
[
[
],
[
]
]
],
[
[
[
],
[
],
[
],
[
],
[
],
[
],
我的转换代码:
$xmlObject = [XML](Get-Content -Path $o)
$xmlObject | ConvertTo-JSON -depth 100 | Out-File "$o.json"
解决方案
可悲的是,这并不容易。
看看我以前用过的这个GitHub Repo来完全按照您的要求进行操作。
您的代码将更改为:
Add-Type -Path .\Newtonsoft.Json.dll
$xmlObject = [XML](Get-Content -Path $o)
[Newtonsoft.Json.JsonConvert]::SerializeXmlNode($xmlObject ) | Out-File "$o.json"
推荐阅读
- amazon-ecs - ecs部署镜像时如何设置容器名称
- c# - EF Core 种子数据库 OneToMany 与预定义列表的关系
- python - Py2neo:如何正确使用 graph.run?
- scala - 对于 KeyedState,KeyBy None
- javascript - javascript游戏的重启按钮
- python - Python在列中将txt写入csv
- html - 基于高度和宽度的引导响应菜单
- javascript - 在 htm 烧瓶中启用或禁用从一页到另一页的按钮
- java - Bean 属性“dipartmantId”不可读或具有无效的 getter 方法:
- svg - 如何使用部分样式属性通过“select-by-selector”选择元素?