不過,並非所有資料都要用 XML 來傳 .
--
============================================
朱明中 (小朱)
Microsoft MVP for Solution Architect, SQL Server
小朱資訊工作室 解決方案架構師
http://www.jcistudio.idv.tw
"阿德" <@discussions.microsoft.com> 撰寫於郵件新聞:626A5B9E-278A-4820...@microsoft.com...
> 謝謝您的回答
>
> 依您的講法,在VS.NET的環境中只要進行資料庫連線及呼叫WS
> 就不需顧及資料的格式問題囉
> 我是第一次使用WS來傳送SQL資料,還請多指教
>
>
>
> "小台" 來函:
>
>> 老實說~我不懂你的轉成XML
>> 因為在Web Service中他傳送的媒介都是xml的格式
>> 你只要把資料fill到ds中 當程式來擷取ASMX時
>> 程式會取得的格式都是標準xml的格式
>> 所以我不了解你為何還要再轉
>>
>>
>> "阿德" 來函:
>>
>> > 請教各位專家:
>> >
>> > 我現在要利用Web Service來傳送SQL Server的資料到另一台伺服器中...
>> > 當在SQL Server中是利用query analyzer 輸入select X from XX for xml
>> > auto指令來轉換成xml資料,
>> > 最後再加上xml標頭。
>> > 但在VS.NET的環境下,雖然我將該*.asmx加入web reference
>> > 也使用資料庫連線到SQL,可是不知如何轉成XML來傳送資料
>> > 各位專家可以教導我一下嗎?
>> > 謝謝!
>> >
由於我將資料使用WS傳送時,必須先將SQL資料手動轉換為xml格式
因為還要加入宣告指令<?xml version="1.0" encoding="utf-8"?>,及需在頭尾加上根標籤<data><data/>
才能傳送成功...
在VS.NET中是否有任何文件是關於您提的XSD or XML Serializer的操作方式呢?
而使用這些方法就可以不用管XML的格式嗎?
懇請回答,謝謝!
"?? (MS MVP)" 來函:
XSD 就是先把格式定好,再填入資料,因為可以利用 XSD 產生 Typed DataSet,所以若要用 DataSet 來輸出時,可以直接使用 WriteXML 來產生格式正確的 XML Data.
Typed DataSet:
http://msdn.microsoft.com/library/CHT/cpguide/html/cpcongeneratingstronglytypeddataset.asp?frame=true
XML Serializer 則是可以把類別成員變成 XML 的方式,但如果對它不熟的話,可以不用,以下為 XML Serializer 的 sample:
// in main code
// do XML serialize.
XmlSerializer serializer = new XmlSerializer(typeof(YuGo.RecruitInfo));
XmlTextWriter xw = new XmlTextWriter(
Request.PhysicalApplicationPath + "\\RecruitData\\" +
DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml",
System.Text.Encoding.Default);
serializer.Serialize(xw, recruitInfo);
xw.Flush();
xw.Close();
serializer = null;
xw = null;
// data class applied to XML serializer.
public class RecruitInfo
{
public string ApplicateJobTitle = null;
public string Name = null;
public string SocialID = null;
public string Birthday = null;
public string ApplicateDate = null;
public string Address = null;
public string Gender = null;
public string MarryStatus = null;
public string Phone = null;
public string Cellphone = null;
public string Email = null;
public string Profession = null;
public RecruitGraduate[] Graduates = null;
public RecruitExperience[] Experiences = null;
public string PracticeSchool = null;
public string PracticeFrom = null;
public string PracticeTo = null;
public int Score = 0;
}
// output example XML with XML serializer.
<?xml version="1.0" encoding="big5"?>
<RecruitInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ApplicateJobTitle>行政專員</ApplicateJobTitle>
<Name>測試應徵人員</Name>
<SocialID>A118298189</SocialID>
<Birthday>1/1/1</Birthday>
<ApplicateDate>2006/2/23</ApplicateDate>
<Address>1</Address>
<Gender>男性</Gender>
<MarryStatus>未婚</MarryStatus>
<Phone>05-2755595</Phone>
<Cellphone>0916886468</Cellphone>
<Email />
<Profession>ABCD</Profession>
<Graduates>
<RecruitGraduate>
<SchoolName>大學</SchoolName>
<Department>幼保系</Department>
<GraduateYear>1975</GraduateYear>
<GraduateMonth>6</GraduateMonth>
</RecruitGraduate>
</Graduates>
<Experiences>
<RecruitExperience>
<CompanyName>測試公司</CompanyName>
<Job>測試職稱</Job>
<WorkFrom>2005-02-23T00:00:00</WorkFrom>
<WorkTo>2006-02-23T00:00:00</WorkTo>
</RecruitExperience>
</Experiences>
<PracticeSchool />
<PracticeFrom />
<PracticeTo />
<Score>3</Score>
</RecruitInfo>
XML Serializer:
http://msdn.microsoft.com/library/CHT/cpguide/html/cpconIntroducingXMLSerialization.asp?frame=true
--
============================================
朱明中 (小朱)
Microsoft MVP for Solution Architect, SQL Server
小朱資訊工作室 解決方案架構師
http://www.jcistudio.idv.tw
"阿德" <@discussions.microsoft.com> 撰寫於郵件新聞:24ACEF00-4ECE-481E...@microsoft.com...