xml - 如何使用 bat 文件将 XML 转换为 csv
问题描述
我正在尝试在 windows cmd 行中运行一个 bat 文件以将 xml 转换为 csv。我从另一篇关于 SO 的旧帖子中获得了 bat 文件代码,它几乎可以工作,我只是不知道我错过了什么。任何人都可以看到有什么问题吗?
代码:
@echo off
setlocal enabledelayedexpansion
set inFile="C:\Users\Michael\Desktop\Addresstest\address.xml"
set outFile="C:\Users\Michael\Desktop\Addresstest\output.csv"
set req_tags=apn address
set outLine=
echo apn,address > %outFile%
for %%a in (%inFile%) do (
for %%c in (%req_tags%) do (
set search_tag=%%c
for /f "tokens=2 delims=>< " %%b in ('type "%%a" ^|findstr /i !search_tag!' ) do (
if [%%b] NEQ [] (
rem we don't want to match /BSN
if [%%b] NEQ [/BSN] (
set outline=!outline!%%b,
)
)
)
)
)
rem output the values
rem remove trailing ,
set outline=%outline:~0,-1%
echo %outline%>>"%outFile%"
endlocal
XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl'?>
<container>
<apn id=34652>
<address>1234 second street</address>
</apn>
<apn id=6123>
<address>8743 Willer Rd.</address>
</apn>
<apn id=67425>
<address>345-A Duet way</address>
</apn>
</container>
输出:
apn,address
apn id=34652,/apn,apn id=6123,/apn,apn id=67425,/apn,address,address,address
如您所见,它输出标签但不输出数据,也不是数据格式。
解决方案
推荐阅读
- ios - 使用基于场景的应用程序生命周期切换外部显示器的镜像
- python - 如何让 Atom 将 Pygame 识别为模块
- python - 我的时间转换器没有添加分钟
- javascript - 如何从我得到的数组中获取特定的数组元素作为调用 axios.get() 调用的函数的响应
- react-native - 世博会推送通知图标和标题
- machine-learning - 是否可以通过机器学习来学习和预测 NaN 值?
- javascript - 如何在 iframe src 中转义脚本标签?
- javascript - 如何在使用 jQuery 刷新(隐藏/显示)DOM 后继续播放 CSS 动画?
- php - 如何在php中更新一行中的多个数据?
- reactjs - 反应输入值