XML 파일에서 null 값을 식별하고 종료 명령을 반환하시겠습니까? [폐쇄]

XML 파일에서 null 값을 식별하고 종료 명령을 반환하시겠습니까? [폐쇄]

예를 들어, "NAME" 작성자에 대한 "VALUE"가 포함되어 있고 담당자가 비어 있는 XML 파일이 있습니다. 주요 목적은 null 값이 있는 XML 파일을 찾는 데 사용할 수 있는 검사를 구현하는 것입니다. 따라서 스크립트에 대한 입력이 git commit(해당 저장소의 모든 파일) 또는 git commit(파일 이름)이 되도록 git 후크(사전 커밋)로 사용할 수 있는 스크립트를 생성하는 방법이 있습니까? 그런 다음 XML 파일에 Null 값이 있으면 스크립트는 제출을 허용하지 않아야 합니다.

<?xml version="1.0" encoding="utf-8"?>
<PACKAGE format-rev="7" prog-version="2020.2.98572" xmlns=https..." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <INFORMATION format-rev="2" xsi:type="packageInfo">
        <ATTRIBUTES>
            <ATTRIBUTE xsi:type="attributeInst">
                <NAME xsi:type="string">Type</NAME>
                <VALUE xsi:type="string">MANUAL</VALUE>
            </ATTRIBUTE>
            <ATTRIBUTE xsi:type="attributeInst">
                <NAME xsi:type="string">Severity</NAME>
                <VALUE xsi:type="string">Normal</VALUE>
            <ATTRIBUTE xsi:type="attributeInst">
                <NAME xsi:type="string">Author</NAME>
                <VALUE xsi:type="string"/>
            </ATTRIBUTE>
            <ATTRIBUTE xsi:type="attributeInst">
                <NAME xsi:type="string">Assignee(s)</NAME>
                <VALUE xsi:type="string"/>
        </ATTRIBUTES>

아래에 표시된 것보다 더 좋은 방법이 있습니까? 티아

def xmlvalidator():
    dirlist = []
    dirlist.append(os.getcwd().replace("\\","/"))
    filelists = filelist(dirlist)
    Flagvallists = []
    for filename in filelists:
        xtree = et.parse(filename)
        root = xtree.getroot()
        xroot = root[0][0]
        flag = 0
        flagval = []

        for i in range(len(xroot)):
            #xroot here should ATTRIBUTES (ATTRIBUTE IN ATTRIBUTES)
            s_name = xroot[i][0].text
            s_value = xroot[i][1].text
            if s_value == None:
                flagval.append(s_name)   
                flag = 1      

        if flag==1:             
            flagval.append(filename)
        Flagvallists.append(flagval)
        #sys.exit(1)
        #return True
    return Flagvallists

편집: @Paul_Pedant에게 감사드립니다. 간단하고 훌륭한 솔루션처럼 보이지만 어떻게 입력이 git commit 호출의 입력과 동일할 수 있습니까? 파일 이름(A.xml) 대신

if grep "<VALUE[^>]*/>" A.xml; then
    echo errors found
else
    echo not found
fi

관련 정보