如何使用樣式表將屬性值替換爲XML元素標記名稱? XML文件結構非常簡單,我想用元素中的屬性值替換元素標籤名稱(DataColumn)。我正在與SSIS合作。 XML文件是數據源。我知道可能有多種解析XML文件的方法,但我正在尋找SSIS中的XML轉換方法。我能夠提出的替代解決方案是PIVOT組件。但是,如果XML文件包含30個或更多元素,則它變得非常微不足道。這裏是XML結構。我縮短了內容,以免它太長。使用xslt使用屬性值替換XML元素標記
<?xml version="1.0" encoding="utf-8"?>
<RootNode>
<ResponseHeader />
<CustomReport Name="Sample Test" ID="000">
<DataRow>
<DataColumn Name="Order ID">12345654</DataColumn>
<DataColumn Name="Company ID">656584</DataColumn>
<DataColumn Name="First Name">John</DataColumn>
<DataColumn Name="Last Name">Smith</DataColumn>
<DataColumn Name="Email">[email protected]</DataColumn>
<DataColumn Name="Address 1">13542 S Main Street</DataColumn>
<DataColumn Name="Address 2"></DataColumn>
<DataColumn Name="City">Dallas</DataColumn>
<DataColumn Name="State">TX</DataColumn>
<DataColumn Name="Zip">75236</DataColumn>
<DataColumn Name="Country">United States</DataColumn>
<DataColumn Name="Phone">000-000-0000</DataColumn>
<DataColumn Name="Fax"></DataColumn>
</DataRow>
<DataRow>
<DataColumn Name="Order ID">5432354</DataColumn>
<DataColumn Name="Company ID">545454</DataColumn>
<DataColumn Name="First Name">Jane</DataColumn>
<DataColumn Name="Last Name">Smith</DataColumn>
<DataColumn Name="Email">[email protected]</DataColumn>
<DataColumn Name="Address 1">213213 W Main Blvd.</DataColumn>
<DataColumn Name="Address 2"></DataColumn>
<DataColumn Name="City">Baltimore</DataColumn>
<DataColumn Name="State">MD</DataColumn>
<DataColumn Name="Zip">21207</DataColumn>
<DataColumn Name="Country">United States</DataColumn>
<DataColumn Name="Phone">000-000-0000</DataColumn>
<DataColumn Name="Fax"></DataColumn>
</DataRow>
</CustomReport>
</RootNode>
下面是所需的輸出:
<?xml version="1.0" encoding="utf-8"?>
<RootNode>
<ResponseHeader />
<CustomReport Name="Sample Test" ID="000">
<DataRow>
<Order ID>12345654</Order ID>
<Company ID>656584</Company ID>
<First Name>John</First Name>
<Last Name>Smith</Last NAme>
<Email>[email protected]</Email>
<Address 1>13542 S Main Street</Address 1>
<Address 2></Address2>
<City>Dallas</City>
<State>TX</State>
<Zip>75236</Zip>
<Country>United States</Country>
<Phone>000-000-0000</Phone>
<Fax></Fax>
</DataRow>
<DataRow>
<Order ID>5432354</Order ID>
<Company ID>545454</Company ID>
<First Name>Jane</First Name>
<Last Name>Smith</Last Name>
<Email>[email protected]</Email>
<Address 1>213213 W Main Blvd.</Address 1>
<Address 2></Address 2>
<City>Baltimore</City>
<State>MD</State>
<Zip>21207</Zip>
<Country>United States</Country>
<Phone>000-000-0000</Phone>
<Fax></Fax>
</DataRow>
</CustomReport>
</RootNode>
如果這個問題已經公佈,前回答,請點我到正確的鏈接。謝謝!
什麼你問的是不可能,因爲您的@Name值不是有效的XML元素名稱(它們包含空格) - 所以您所顯示的「所需輸出」不是格式良好的XML文檔。你可以通過用(例如)下劃線替換空格來解決這個問題 - 但是在那裏可能會有其他角色會讓你感到不安。 –