我需要混淆以下xml,大部分工作已经完成,除了最后一个嵌套数据(性别)之外,我几乎混淆了所有内容,我不知道如何处理:
<?xml version='1.0' encoding='UTF-8'?>
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<wd:Report_Data
xmlns:wd="urn:URN">
<wd:Report_Entry>
<wd:Candidate_ID>CANDID</wd:Candidate_ID>
<wd:First_Name>FIRSTNAME</wd:First_Name>
<wd:Last_Name>LASTNAME</wd:Last_Name>
<wd:Email>EMAIL</wd:Email>
<wd:Job_Requisition wd:Descriptor="JR0202517 Graduate Intern Technical (Open)">
<wd:ID wd:type="WID">7f0219076bc1010a481ed02402b40000</wd:ID>
<wd:ID wd:type="Job_Requisition_ID">JR0202517</wd:ID>
</wd:Job_Requisition>
<wd:Candidate_Stage1>REVIEW</wd:Candidate_Stage1>
<wd:Candidate_Stage wd:Descriptor="Review">
<wd:ID wd:type="WID">31350d72f899430fb446b410c1e368cd</wd:ID>
<wd:ID wd:type="Recruiting_Stage_ID">REVIEW</wd:ID>
</wd:Candidate_Stage>
<wd:Created_Moment>2023-02-24T03:54:51.948-08:00</wd:Created_Moment>
<wd:Job_Application_Date>2023-03-17</wd:Job_Application_Date>
<wd:Job_Application_Source wd:Descriptor="Social Network -> Facebook">
<wd:ID wd:type="WID">dc8bf79476611087891d570080ae09fc</wd:ID>
<wd:ID wd:type="Applicant_Source_ID">Facebook</wd:ID>
</wd:Job_Application_Source>
<wd:Phone_Number>PHONE</wd:Phone_Number>
<wd:Country>COUNTRY</wd:Country>
<wd:Internal>0</wd:Internal>
<wd:gender wd:Descriptor="Male">
<wd:ID wd:type="WID">dc8bf79476611087d99a5866c88b70e2</wd:ID>
<wd:ID wd:type="Gender_Code">M</wd:ID>
</wd:gender>
<wd:fileName>FILENAME</wd:fileName>
<wd:attachmentContent>BASE64</wd:attachmentContent>
</wd:Report_Entry>
</wd:Report_Data>
</env:Body>
</env:Envelope>
我需要描述符值“Male”和性别代码“M”的值,这样就不会破坏整个请求的语法
我使用此xslt来混淆大多数值:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*:Email">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated Email]</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="*:First_Name">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated Name]</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="*:Last_Name">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated Last Name]</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="*:Phone_Number">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated Phone]</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="*:attachmentContent">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated Base64 Attachment]</xsl:text>
</xsl:copy>
</xsl:template>
<xsl:template match="*:fileName">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:text>[Obfuscated FileName]</xsl:text>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
我尝试了上面的方法来混淆M和Male,但如果我分开做,由于从模板中复制(我认为),它只是取消了第一次更改。。这是我学习xslt的第一天,这是我所能做到的
预期结果:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<wd:Report_Data xmlns:wd="urn:URN">
<wd:Report_Entry>
<wd:Candidate_ID>CANDID</wd:Candidate_ID>
<wd:First_Name>[Obfuscated Name]</wd:First_Name>
<wd:Last_Name>[Obfuscated Last Name]</wd:Last_Name>
<wd:Email>[Obfuscated Email]</wd:Email>
<wd:Job_Requisition wd:Descriptor="JR0202517 Graduate Intern Technical (Open)">
<wd:ID wd:type="WID">7f0219076bc1010a481ed02402b40000</wd:ID>
<wd:ID wd:type="Job_Requisition_ID">JR0202517</wd:ID>
</wd:Job_Requisition>
<wd:Candidate_Stage1>REVIEW</wd:Candidate_Stage1>
<wd:Candidate_Stage wd:Descriptor="Review">
<wd:ID wd:type="WID">31350d72f899430fb446b410c1e368cd</wd:ID>
<wd:ID wd:type="Recruiting_Stage_ID">REVIEW</wd:ID>
</wd:Candidate_Stage>
<wd:Created_Moment>2023-02-24T03:54:51.948-08:00</wd:Created_Moment>
<wd:Job_Application_Date>2023-03-17</wd:Job_Application_Date>
<wd:Job_Application_Source wd:Descriptor="Social Network -> Facebook">
<wd:ID wd:type="WID">dc8bf79476611087891d570080ae09fc</wd:ID>
<wd:ID wd:type="Applicant_Source_ID">Facebook</wd:ID>
</wd:Job_Application_Source>
<wd:Phone_Number>[Obfuscated Phone]</wd:Phone_Number>
<wd:Country>COUNTRY</wd:Country>
<wd:Internal>0</wd:Internal>
<wd:gender wd:Descriptor="Obfuscated Gender">
<wd:ID wd:type="WID">dc8bf79476611087d99a5866c88b70e2</wd:ID>
<wd:ID wd:type="Gender_Code">"Obfuscated Gender Code"</wd:ID>
</wd:gender>
<wd:fileName>[Obfuscated FileName]</wd:fileName>
<wd:attachmentContent>[Obfuscated Base64 Attachment]</wd:attachmentContent>
</wd:Report_Entry>
</wd:Report_Data>
</env:Body>
</env:信封>