none
XML Data Editor missing in Visual Studio 2008

    Question

  • Hello,

    I use Visual Studio Team System 2008 Development Edition and I can't find the XML Data Editor for opening XML-Files (like before in Visual Studio 2005).

    Does anybody knows a solution to get this XML Data Editor ?

    Best regards

    Andreas Lindenthal
    Monday, December 10, 2007 11:13 AM

Answers

  • I wanted to explain that we are aware of the feature take-back, and we made the decision to do so based on a number of reasons that aren't really worth arguing about now that VS2008 has already shipped...

     

    I'm looking at what we can do to help make it better now that the old grid-based designer is not a part of VS2008. The current idea that a couple of us are kicking around is releasing the source code from the old designer as a downloadable sample or possibly as an installable package developed using the VS2008 SDK.

     

    I'd love to hear whether XmlNotepad satisfies your needs or whether you would really rather have the original grid-based designer.

     

    thanks,

    e-

    Eric.Knox@microsoft.com

    Monday, January 07, 2008 8:57 PM

All replies

  • Hi Andreas,

     

    The XML Editor and the XSLT Debugger tools are very much a part of VSTS 2008. Have you tried opening an XML file and are not seeing it open in the editor?

     

    Thanks,

    Nihit

    Wednesday, December 26, 2007 9:25 PM
  • Hello Nihit,

    I see the XML file in the editor but I miss the option "View Data Grid". In VS2005 I can open the XML file as a data grid when I select "View ->  Data Grid".

    Where is this option gone ?  I need this view to edit my XML files.

    Thank you very much for your help.

    Best regards

    Andreas
    Friday, December 28, 2007 1:46 PM
  • I am also looking for this very important missing feature, currently using the trial edition.

    Microsoft Visual Studio 2008
    Version 9.0.21022.8 RTM
    Microsoft .NET Framework
    Version 3.5

    Installed Edition: Enterprise
    Microsoft Visual C# 2008   91899-153-0000007-60682
    Microsoft Visual C++ 2008   91899-153-0000007-60682
    Microsoft Visual Studio 2008 Tools for Office   91899-153-0000007-60682
    Microsoft Visual Studio Team System 2008 Architecture Edition   91899-153-0000007-60682
    Microsoft Visual Studio Team System 2008 Development Edition   91899-153-0000007-60682
    Microsoft Visual Studio Team System 2008 Test Edition   91899-153-0000007-60682

    Thursday, January 03, 2008 2:46 PM
  • This feature was taken out of VS 2008.

    Why? Not sure. We (DP Tools former WebData) didn't owned it.

    I expect it was considered to be low impotent and not used.

     

    Sorry for inconvenience. I haven't seen any complains during Beta 1 & Beta 2 period.

     

    We now evaluating what we can do as a damage control. We may be able to produce VS plugin with similar functionality.

    I'd appreciate if you can share the scenario where you used this feature; give samples of XML files you edited with it; describe what was good and what was missing in this feature.

     

    Friday, January 04, 2008 2:58 AM
  • You can't assume that no complaints during beta testing is 100 % approval.Why don't you reinstate the feature so users don't have to define requirements. It seems that there should be strong justification why it was removed in VS2008, not why it should be reinstated.

    Friday, January 04, 2008 5:32 AM
  • It is not an approval. I don't know who and why removed it.

    I am trying to be helpful and figure out what can be done now,

    It would be hard to put it back at SP1 time frame. I don't believe its possible.  

    File an issue on http://connect.microsoft.com.

    The more support the request would have more efforts MS would put to fix the problem.

    It is really customer driven now. That's why I am sitting at this time and answering question on the forums.

     

    Sorry for inconvenience.

     

    Friday, January 04, 2008 5:44 AM
  • There is another thread in the forum about this issue  at http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1953891&SiteID=1 and there is already a connect bug at https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=224699&wa=wsignin1.0

     

    Hope this helps

    Irinel

    Monday, January 07, 2008 7:55 PM
    Moderator
  • As an aside, you can try and use the XmlNotepad 2007 and see if that

    tool helps in your situation.

     

    Download available here: http://www.microsoft.com/downloads/details.aspx?familyid=72d6aa49-787d-4118-ba5f-4f30fe913628&displaylang=en

     

    Thanks,

    Nihit

    Monday, January 07, 2008 7:59 PM
  • I wanted to explain that we are aware of the feature take-back, and we made the decision to do so based on a number of reasons that aren't really worth arguing about now that VS2008 has already shipped...

     

    I'm looking at what we can do to help make it better now that the old grid-based designer is not a part of VS2008. The current idea that a couple of us are kicking around is releasing the source code from the old designer as a downloadable sample or possibly as an installable package developed using the VS2008 SDK.

     

    I'd love to hear whether XmlNotepad satisfies your needs or whether you would really rather have the original grid-based designer.

     

    thanks,

    e-

    Eric.Knox@microsoft.com

    Monday, January 07, 2008 8:57 PM
  • The removal of the xml data grid is doubly baffling because VS2008 has a nice new grid editor for resx files, with a Comment column to boot.

    My current solution:  on XML files, Open With... Visual Studio 2003 and keep that as the default.

    I installed XML Notepad and it would suffice for adding simple records.  In the old VS grid, I preferred to be able to sort by columns, rapidly copy and paste cells, and auto-format datetime inputs.

    Monday, January 14, 2008 3:47 PM
  • Hello Eric,

    the XMLNotepad does not satifies our needs because of the following points :

    'XML Data Editor'
    It was much easier to fill XML-Files using this 'XML Data Editor' than working with XML Editors ( XMLSpy, XML Notepad, ... ) because it showed the Data like a tree considering all relations. ( As a browser could do using a specific Stylesheet ). We are using DataSets with XML to configure a lot of Objects in our Application.

    'XML Schema Editor' :
    It was much easier to edit the schemas using the old 'XML Schema Editor' editor than coding the Schema with XML Editor.

    Please give ous a solution in the next time that we don't must use the VS2005 to edit the files. A good solution for us is

    an installable package developed using the VS2008 SDK.

     

    Best regards

    Andreas Lindenthal
    Monday, January 14, 2008 6:16 PM
  • Eric,

    Thanks for the explanation. This tool was very useful and the XML editor is not even close to a substitute. This tool is incredibly useful when using XML files as a data store in solutions. The ability to look at the XML file as if it where a database and to add and remove values is great for debugging. I was never aware that Microsoft removed features from their products, seems counter productive.

     

    How can we be notified when this feature has bee re added to our favorite tool?

     

    Thanks David

     

    Monday, March 31, 2008 4:10 PM
  • Where is an editor where we can add rows to an xml files according to an schema without having to type the tag names, etc. like the grid view works in older versions?

    Luis
    Thursday, June 04, 2009 2:25 AM
  • If the reasons ar not worth arguing about, then what is the alternative how can we easely create xml data that follows a schema withoug having to worry about the element tags?
    Luis
    • Proposed as answer by _tek_ Wednesday, August 26, 2009 2:51 PM
    Thursday, June 04, 2009 2:57 AM
  • Code for creating your OWN xml editor, the exact same as in vs 2005, which is ____ IMHO, but none the less I wanted something other than a text editor. (Note: code is messy, threw it together in 10 minutes.

    private

     

    XmlDocument xmlDoc;

     

    private DataGrid dataGrid;

     

    private DataSet ds;

     

    private String fileName;

     

    private int page = 1;

     

    private Boolean pageLoaded = false;

     

    public Form3()

    {

    dataGrid =

    new DataGrid();

    dataGrid.BackgroundColor =

    Color.White;

    dataGrid.Dock =

    DockStyle.Fill;

    dataGrid.AlternatingBackColor =

    Color.Gainsboro;

    dataGrid.AllowSorting =

    false;

    dataGrid.AllowDrop =

    false;

    dataGrid.Navigate +=

    new NavigateEventHandler(dataGrid_Navigate);

    dataGrid.MouseClick +=

    new MouseEventHandler(dataGrid_MouseClick);

    InitializeComponent();

    saveToolStripMenuItem.Enabled =

    false;

    treeView1.PathSeparator =

    " -> ";

    treeView1.FullRowSelect =

    true;

    treeView1.Indent = 10;

    treeView1.ShowRootLines =

    true;

    treeView1.ShowPlusMinus =

    true;

    treeView1.AfterSelect +=

    new TreeViewEventHandler(treeView1_AfterSelect);

    splitContainer1.Panel2.Controls.Add(dataGrid);

    }

     

    void dataGrid_MouseClick(object sender, MouseEventArgs e)

    {

     

    if (e.Button == MouseButtons.Right)

    {

    contextMenuStrip1.Show(dataGrid, e.Location);

    }

    }

     

    void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

    {

    dataGrid.SuspendLayout();

     

    //go back to the first page

     

    for (int i = 0; i < page; i++)

    {

    dataGrid.NavigateBack();

    }

    page = 1;

     

    //navigate to relationship

    dataGrid.NavigateTo(0, (

    String)e.Node.Tag);

    dataGrid.ResumeLayout(

    true);

    }

     

    void dataGrid_Navigate(object sender, NavigateEventArgs ne)

    {

     

    //increment or decrement page number

     

    if (ne.Forward)

    {

    page++;

    }

     

    else

    {

    page--;

    }

    }

     

    private void openToolStripMenuItem_Click(object sender, EventArgs e)

    {

     

    OpenFileDialog openFileDialog = new OpenFileDialog();

    openFileDialog.Multiselect =

    false;

    openFileDialog.DefaultExt =

    "*.xml";

    openFileDialog.AddExtension =

    true;

    openFileDialog.Filter =

    "XML File (*.xml)|*.xml";

    openFileDialog.FileOk +=

    new CancelEventHandler(openFileDialog_FileOk);

     

    DialogResult dialogResult = openFileDialog.ShowDialog();

    }

     

    void openFileDialog_FileOk(object sender, CancelEventArgs e)

    {

     

    if (!e.Cancel)

    {

    treeView1.Nodes.Clear();

    xmlDoc =

    new XmlDocument();

    xmlDoc.Load(((

    OpenFileDialog)sender).FileName);

    fileName = ((

    OpenFileDialog)sender).FileName;

    ds =

    new DataSet();

    ds.ReadXmlSchema(((

    OpenFileDialog)sender).FileName);

    ds.ReadXml(((

    OpenFileDialog)sender).FileName);

    dataGrid.ParentRowsLabelStyle =

    DataGridParentRowsLabelStyle.Both;

    dataGrid.SetDataBinding(ds,

    ""); //xmlDoc.DocumentElement.Name);

    dataGrid.CaptionText = ((

    OpenFileDialog)sender).FileName;

     

    Font f = new Font("Arial", 10f);

    dataGrid.CaptionFont = f;

     

    foreach (DataTable table in ds.Tables)

    {

     

    TreeNode node = new TreeNode(table.TableName);

    node.Tag = table.TableName;

    treeView1.Nodes.Add(node);

    }

     

    //if any tables change enable the save item under the file menu

     

    foreach (DataTable table in ds.Tables)

    {

    table.ColumnChanged +=

    new DataColumnChangeEventHandler(onChange);

    table.RowChanged +=

    new DataRowChangeEventHandler(onChange);

    table.RowDeleted +=

    new DataRowChangeEventHandler(onChange);

    table.TableCleared +=

    new DataTableClearEventHandler(onChange);

    table.TableNewRow +=

    new DataTableNewRowEventHandler(onChange);

    }

    pageLoaded =

    true;

    }

    }

     

    void onChange(object sender, Object e)

    {

    saveToolStripMenuItem.Enabled =

    true;

    }

     

    private void Form1_Load(object sender, EventArgs e)

    {

    }

     

    private void saveToolStripMenuItem_Click(object sender, EventArgs e)

    {

    ds.AcceptChanges();

    ds.WriteXml(fileName);

    saveToolStripMenuItem.Enabled =

    false;

    }

     

    private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)

    {

     

    XmlNode xNode;

     

    TreeNode tNode;

     

    XmlNodeList nodeList;

     

    int i;

     

    // Loop through the XML nodes until the leaf is reached.

     

    // Add the nodes to the TreeView during the looping process.

     

    if (inXmlNode.HasChildNodes)

    {

    nodeList = inXmlNode.ChildNodes;

     

    for (i = 0; i <= nodeList.Count - 1; i++)

    {

    xNode = inXmlNode.ChildNodes[i];

    inTreeNode.Nodes.Add(

    new TreeNode(xNode.Name));

    tNode = inTreeNode.Nodes[i];

    AddNode(xNode, tNode);

    }

    }

     

    else

    {

     

    // Here you need to pull the data from the XmlNode based on the

     

    // type of node, whether attribute values are required, and so forth.

    inTreeNode.Text = (inXmlNode.OuterXml).Trim();

    }

    }

     

    private void addColumnToolStripMenuItem_Click(object sender, EventArgs e)

    {

     

    InputForm inputForm = new InputForm();

    inputForm.Text =

    "Add Column";

    inputForm.CaptionText =

    "Enter a name for the new column to add.";

    inputForm.ShowDialog();

    }

    Wednesday, August 26, 2009 2:52 PM
  • Do you have a project file for this? taking too long trying to work out what controls etc you have on the form.

    Thanks
    Wednesday, October 07, 2009 8:00 PM
  • It seems like every time Microsoft makes an apology, or one of its VP makes a technology mishap apology, million man hours gone wasted.

    Monday, November 09, 2009 4:22 PM
  • Can anyone tell me what i have to do with the above code sample?
    Friday, February 19, 2010 9:17 PM
  • Did you ever get a project file for this?
    Friday, February 19, 2010 9:17 PM
  • Is it possible to just copy the DLL from the old version of Visual Studio into the current one, register it and launch the XML designer?

    If it is, would someone tell me what the DLL name is? 

    Friday, August 06, 2010 1:18 AM