XML 파일 (file_1.xml 및 file_2.xml)을 읽고 태그 사이의 문자열을 추출하여 TXT 파일에 기록하는 코드를 작성했습니다. 의DOS 배치 : XML 파일의 큰 따옴표 다루기
<AAA>C086002-T1111</AAA>
<AAA>C086002-T1222 </AAA>
<AAA>C086002-TR333 "</AAA>
<AAA>C086002-T5444 </AAA>
내용 :이 문제는 일부 문자열은 큰 따옴표를 포함하고 프로그램이 다음 ... 적절한 지침을 (문자열의 일부)로서 file_1.xml의
내용을 이러한 문자를 취한다는 것입니다 file_2.xml :
이<AAA>C086002-T5555 </AAA>
<AAA>C086002-T1666</AAA>
<AAA>C086002-T1777 "</AAA>
<AAA>C086002-T1888 "</AAA>
내 코드 :
@echo off
setlocal enabledelayedexpansion
for /f "delims=;" %%f in ('dir /b D:\depart\*.xml') do (
for /f "usebackq delims=;" %%z in ("D:\depart\%%f") do (
(for /f "delims=<AAA></AAA> tokens=2" %%a in ('echo "%%z" ^| Findstr /r "<AAA>"') do (
set code=%%a
set code=!code:""=!
set code=!code: =!
echo !code!
)) >> result.txt
)
)
내가 t를 얻을 수 그의 결과. 문자 :
C086002-T1111
C086002-T1222
C086002-T5444
C086002-T5555
C086002-T1666
사실 8 줄 중 3 줄이 누락되었습니다. 이 줄에는 큰 따옴표 나 큰 따옴표가 포함 된 줄을 포함합니다 ...
어떻게 이러한 문자를 처리하여 문자열의 일부로 간주 할 수 있습니까?
아야. 왜 아래 표를 던지겠습니까? 좋은 코드가 아닐 수도 있습니다. XML을 구문 분석하기 위해 일괄 처리를 사용하지 않아야한다고 주장 할 수 있습니다. 그러나 질문은 잘 생각되어 보였고 합리적으로 잘 설명되었습니다. OP는 분명히 자조에 시간을 들였고 문제를 진단 할 수 있었지만 해결책을 찾지 못했습니다. 나에게 좋은 질문 인 것 같다. – dbenham
@dbenham : http://stackoverflow.com/questions/26676043/dos-batch-append-xml-tags-in-unique-txt-file – Magoo