2011-04-27 3 views
0

기본적으로 내가 노력하고 무엇이다 :영문 양식

  1. 캐치 양식 제출;
  2. XML 파일에 저장하십시오.
  3. 다른 서버로 보냅니다.

내 주요 문제 XMLBuilder에 대한 많은 정보를 찾을 수 없습니다. 이 다음 링크는 내가해야 할 일처럼 보이지만 난 단지 XML 작성기를 사용할 수 있습니다

을 Default.aspx :

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="ToXMLApp.ToXMLForm" %> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 

    <form id="ToXMLForm" runat="server" defaultbutton="Submit"> 
    <div> 
     <asp:Label runat="server">Firstname</asp:Label>&emsp;<asp:TextBox ID="Firstname" runat="server"></asp:TextBox><br /> 
     <asp:Label runat="server">Surname</asp:Label>&emsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> 
     <asp:Button ID="Submit" runat="server" Text="Submit" OnClick="Submit_Click" /> 
    </div> 
    </form> 

</body> 
</html> 

Default.aspx를 다음과 같이 Creating a Contact form in Visual Studio ASPX and saving to an XML file when clicking SUBMIT

내 코드입니다. vb :

Protected Sub Submit_Click(ByVal sender As Object, ByVal e As System.EventArgs) 

    // XMLBuilder new xml file 
    // save form results as xml fields 
    // save xml file 
    // send XML file (this is not as important atm) 
    ToXMLForm.InnerHTML? // how do I retrieve inputs? 

End Sub 
+0

'XmlBuilder' 클래스에 대해 모르겠습니다. 이름이 맞았습니까? –

+0

또한 어떤 버전의 .NET을 사용하고 있습니까? –

+0

저는 최신 .NET이 Microsoft Visual Web Editor Express 2010을 다운로드했다고 생각합니다. –

답변

0

도움을 주신 모든 분들께 감사드립니다. 다음은 작동을 종료 한 코드입니다.

1

나는 양식을 구문 분석하고 LINQ to XML. 나는 그것이 많은 도움처럼 들리지는 않는다는 것을 안다. 그러나 당신은 아마도 그 방향 (XDocument, XElement 등)을 지적하고 객체 지향 방식으로 .NET 데이터 유형을 사용하여 작업하는 것이 더 좋을 것이다. @ 존 선 더스 (John Salunders)는 XMLBuilder에 대해서는별로 확신하지 못한다고 말했습니다. 두건 속에서도 일하는 것이 좋습니다.

+0

XDocument 유형을 알아 차렸습니다. 일단 양식을 게시/제출했는지 어떻게 생각하십니까? –

+0

ASP.NET은 다른 기술을 사용하여 일반 양식 게시를 기대하는 것보다 양식 요소 내부의 모든 것을 다르게 처리합니다. 물론 폼 포스트를 참조 할 수는 있지만, 초보자 인 경우라면, 나는 그 폼의 각 부분을 코드 비하인드에서 참조 할 수있는 특정 asp.net 컨트롤로 만드는 데 집중할 것입니다. 각 요소에 대한 ID를 명시 적으로 설정하고 (ID = "FirstName") 코드 숨김에서 해당 ID를 사용하십시오. 이 경우 string myFirstName = FirstName.Text와 같은 작업을 수행 할 수 있어야합니다. – kappasims

+0

그 이상이 필요한 경우 초보자로서이 방법을 사용합니다. XML 문서 작성을 처리하기 위해 제출하는 버튼의 OnClick 이벤트를 사용하십시오. OnClick 핸들러에서 적절한 네임 스페이스를 사용하여 새 XDocument 유형을 만든 다음 원하는 값으로 XElements를 만들 수 있습니다. 그런 다음 Add() 메서드를 사용하여 해당 XElement를 XDocument에 추가합니다. 매우 객체 지향적이며 사용하기 쉽고 사용하기 쉽습니다. – kappasims

1
public void Submit_Click(object sender, System.EventArgs e) 
{ 
    //Get the inputs 
    var name = Firstname.Text; 
    var surname = TextBox1.Text; 

    //Now you transform the data as the example of the link you showed 
    XmlWriterSettings settings = new XmlWriterSettings(); 
    settings.Indent = true; 
    settings.IndentChars = (" "); 

    var filepath = "data.xml"; 

    using (XmlWriter writer = XmlWriter.Create(filepath, settings)) 
    { 
     // Write XML data. 
     writer.WriteStartElement("data"); 
     writer.WriteElementString("name", name); 
     writer.WriteElementString("surname", surname); 
     writer.WriteEndElement(); 
     writer.Flush(); 
    } 

    //Send XML file 
    FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPAddress + "/" + 
    Path.GetFileName(filePath)); 
    request.Method = WebRequestMethods.Ftp.UploadFile; 
    request.Credentials = new NetworkCredential(username, password); 
    request.UsePassive = true; 
    request.UseBinary = true; 
    request.KeepAlive = false; 

    FileStream stream = File.OpenRead(filePath); 
    byte[] buffer = new byte[stream.Length]; 
    stream.Read(buffer, 0, buffer.Length); 
    stream.Close(); 

    Stream reqStream = request.GetRequestStream(); 
    reqStream.Write(buffer, 0, buffer.Length); 
    reqStream.Close(); 
} 

System.Net 라이브러리를 포함합니다.

메모장에 썼습니다. 컴파일하지 않았으므로 오류가있는 경우 용서해주세요.하지만이 경로입니다.

관련 문제